一、准备好账号

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

二、生成密钥对

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

三、添加私钥

  1. $ ssh-add ~/.ssh/id_rsa_git

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

  1. $ ssh-agent bash
  2. $ ssh-add -l
  3. $ ssh-add -D

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

  1. # 查看公钥
  2. $ cat /root/.ssh/id_rsa_git.pub
  3. # 查看私钥
  4. $ cat /root/.ssh/id_rsa_git

六、添加公钥到git账号

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

七、下载、更新代码

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

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

  1. # 定义参数名称
  2. filename=kkFileView
  3. giturl=https://gitee.com/lixingwu/file-online-preview.git
  4. # 1. 下载主分支代码覆盖现有代码
  5. # 如果不存在文件夹就下载,否则更新
  6. if [ ! -d $filename ]; then
  7. echo -e "\033[33m下载代码中\033[0m"
  8. git clone -b master $giturl
  9. else
  10. echo -e "\033[33m更新代码中\033[0m"
  11. cd $filename
  12. git pull
  13. fi
  14. # 2. 重启nginx
  15. if [ $? -eq 0 ]; then
  16. systemctl restart nginx.service
  17. echo -e "\033[42;37m代码$filename更新成功\033[0m"
  18. else
  19. echo -e "\033[41;37m代码$filename更新失败\033[0m"
  20. 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. 关于Git GUI克隆代码

    1.首先需要使用Git GUI生成一个SSH秘钥并将其拷贝到远程(码云或者GitHub)账号下的SSH公钥中(以码云为例) 将上一步生成的SSH密钥拷贝到下面的码云的公钥中 2.拷贝下码云上代码的SS ...

  2. windows的系统变量

    在Windows cmd小黑框里输入set命令,可以查看现有的系统变量 “="前的部分就是变量名. %USERPROFILE% =C:\Users\用户名 %SystemRoot% =C:\ ...

  3. C#加密与解密(DES\RSA)学习笔记

    本笔记摘抄自:https://www.cnblogs.com/skylaugh/archive/2011/07/12/2103572.html,记录一下学习过程以备后续查用. 数据加密技术是网络中最基 ...

  4. Wannafly Camp 2020 Day 3F 社团管理 - 决策单调性dp,整体二分

    有 \(n\) 个数构成的序列 \({a_i}\),要将它划分为 \(k\) 段,定义每一段的权值为这段中 \((i,j) \ s.t. \ i<j,\ a_i=a_j\) 的个数,求一种划分方 ...

  5. 带你快速了解Linux文件系统

    http://www.embeddedlinux.org.cn/emb-linux/file-system/201807/03-8197.html 这篇教程将帮你快速了解 Linux 文件系统. 早在 ...

  6. Linux c++ string转其他类型

    #include <iostream> #include <sstream> #include <string> using namespace std; temp ...

  7. DFS-B - Dr. Evil Underscores

    B - Dr. Evil Underscores Today, as a friendship gift, Bakry gave Badawy nn integers a1,a2,…,ana1,a2, ...

  8. 通过设置iis在局域网中访问网页

    0.准备工作:IIS6.0镜像包,自制的网页文件夹(路径不能是桌面,否则其他电脑将因为没有权限访问系统桌面而不能访问你的网页) 1.进入添加或删除程序,勾上Internet信息服务(IIS),点击下一 ...

  9. C# WPF过渡效果实现(C# WPF Material Design UI: Transitions)

    时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...

  10. Python通过paramiko批量远程主机执行命令

    一.前言 在日常运维的过程中,经常需要登录主机去执行一些命令,有时候需要登录一批主机执行相同的命,手动登录执行的化效率太慢, 所以可以通过Python的paramiko模块批量执行,本篇文章基于pyt ...