一、准备好账号

现在我们写的前端页面都放在公司自己搭建的gitlab上,使用的是 SSH KEY 访问的,所以我们先注册了一个账号 "1374669657@qq.com" 。

二、生成密钥对

  • 使用账号在服务器上生成 密钥对 , 下列的 "1374669657@qq.com" 替换自己的账号
ssh-keygen -t rsa -f ~/.ssh/id_rsa_git -C "1374669657@qq.com"
  • 然后一直回车,直到出现类似如下内容,表示成功
+--[ RSA 2048]----+
| . +=. |
| B o. |
| . B . |
| o . . |
| ..S . |
| . .oo. |
| E . .+.. |
| .oo.. |
| .+o.. |
+-----------------+

三、添加私钥

$ ssh-add ~/.ssh/id_rsa_git

四、将私钥交给ssh-agent保管

$ ssh-agent bash
$ ssh-add -l
$ ssh-add -D

五、查看生成的公钥和私钥

# 查看公钥
$ cat /root/.ssh/id_rsa_git.pub # 查看私钥
$ cat /root/.ssh/id_rsa_git

六、添加公钥到git账号

  • 点击右上角头像
  • 点击选项 Settings
  • 点击左边选项 SSH Keys
  • 在 key文本框内 贴上你的公钥内容,title随便输入
  • 保存即可

七、下载、更新代码

# 在项目部署的目录下载代码,
# 例如:git上有一个项目 test,现在我们要把test项目部署在 /opt/目录下
$ cd /opt/
$ git clone git@ip:用户名/test.git
# ps: git 路径的ip和用户名替换为自己的 # 更新test的代码
$ cd /opt/test/
$ git pull

附加一份更新代码,重启nginx服务的代码:

# 定义参数名称
filename=kkFileView
giturl=https://gitee.com/lixingwu/file-online-preview.git # 1. 下载主分支代码覆盖现有代码
# 如果不存在文件夹就下载,否则更新
if [ ! -d $filename ]; then
echo -e "\033[33m下载代码中\033[0m"
git clone -b master $giturl
else
echo -e "\033[33m更新代码中\033[0m"
cd $filename
git pull
fi # 2. 重启nginx
if [ $? -eq 0 ]; then
systemctl restart nginx.service
echo -e "\033[42;37m代码$filename更新成功\033[0m"
else
echo -e "\033[41;37m代码$filename更新失败\033[0m"
fi

在centos7下获取git代码(部署代码)的更多相关文章

  1. Elasticsearch学习总结 (Centos7下Elasticsearch集群部署记录)

    一.  ElasticSearch简单介绍 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticse ...

  2. git一键部署代码到远程服务器(linux)(采坑总结)

    原来一直使用FileZilla来代码部署,去年使用git,代码版本管理,真TM好用,一起回顾下历程! 一. 代码部署方式及思路: 1. 使用FTP/SFTP工具,上传代码 2. git人工部署.1. ...

  3. git hook部署代码

    git 提供了钩子功能,当某个操作发生时,可以执行某个动作. ftp上传时没有文件比较,虽然可以winscp提供了同步功能但是不够强大,而且文件多了,会花费比较长的时间. 1.先在主机上搭建一个git ...

  4. windows+ant+git+tomcat中ant直接获取git项目部署注意点

    最近项目搬迁到公司的"GitHub"上面原来的SVN的ant发布脚本要改下,于是百度ant获取git的方法太少了,windows平台上更是没有所以搞了两天,今天终于有点成果分享给大 ...

  5. Linux(Centos7)下redis5安装、部署、开机自启

    1.什么是redis redis是用C语言开发的一个开源的高性能键值对(key-value)数据库.它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止redis支持的键值数据类型如下字符串 ...

  6. centos7下使用git

    问:为什么需要版本控制系统?[转:http://www.cnblogs.com/shenliang123/p/3824383.html] 版本控制是一种记录若干文件内容变化,以便将来查阅特定版本修订情 ...

  7. Centos7下使用Ceph-deploy快速部署Ceph分布式存储-操作记录

    之前已详细介绍了Ceph分布式存储基础知识,下面简单记录下Centos7使用Ceph-deploy快速部署Ceph环境: 1)基本环境 192.168.10.220 ceph-admin(ceph-d ...

  8. 在Centos7下搭建Git服务器

    ① 安装 Git ② 服务器端创建 git 用户,用来管理 Git 服务,并为 git 用户设置密码 ③ 服务器端创建 Git 仓库 ④ 客户端 clone 远程仓库 ⑤ 客户端创建 SSH 公钥和私 ...

  9. Centos7下使用Ceph-deploy快速部署Ceph分布式存储-操作记录(转)

    之前已详细介绍了Ceph分布式存储基础知识,下面简单记录下Centos7使用Ceph-deploy快速部署Ceph环境:1)基本环境 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

随机推荐

  1. hibernate报错:MappingException: Could not determine type for...解决办法

    有时候实体里的一些属性并不想映射到数据库(比方说子级菜单List), 如果不做处理的话会报字段映射错误找不到这列Column Not Found 例如:org.hibernate.MappingExc ...

  2. 12 : API

    Object 概念 所有类的顶级父类 存在于java.lang包中,这个包不需要我们手动导包 常用方法 toString() 默认返回   类名@地址  的格式,来展示对象的地址值,如:a00000. ...

  3. Deepin Linux折腾输入法

    Deepin Linux 别折腾输入法了 , 很容易把自己整残了 Deepin 自带五笔拼音输入法 , 平时撸码用完全够了 . 但今天突然快捷键不好用了.怎么都切不了英文输入 . 切输入法也不能切到英 ...

  4. Jekyll 摘要

    在 Windows 上安装 Requirements Permalink Ruby version 2.4.0 or above, including all development headers ...

  5. .net mvc接收参数为null的解决方案

    1.通过对象接收请求数据时的null 必须为对象的属性设置get与set private System.String _EMail = System.String.Empty; public Syst ...

  6. gulp常用插件之http-proxy-middleware使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 http-proxy-middleware这是一个用于后台将请求转发给其它服务器.其实这并不是转给gulp使用的,在其它构建工具也可以用. 更多使 ...

  7. tcp_demo

    代码讲解: server import socket def main(): # 创建tcp服务器套接字 tcp_server = socket.socket(socket.AF_INET, sock ...

  8. PAT (Advanced Level) Practice 1008 Elevator (20 分) (模拟)

    The highest building in our city has only one elevator. A request list is made up with N positive nu ...

  9. 《深入理解java虚拟机》读书笔记四——第五章

    第五章 调优案例分析与实战

  10. Linux C++ 直接选择排序,冒泡排序,快速排序

    选择排序的思想是:每次从待排序中选择最小(大)的元素插入已经排好的序列中. /*直接选择排序*/ #include <iostream> using namespace std; void ...