jenkins+gitlab+ansible实现PHP代码回滚及上传

一、git客户端克隆gitlab仓库及上传代码

#克隆gitlab仓库
git clone http://39.99.55.128:/root/php.git
Cloning into 'php'...
Username for 'http://39.99.55.128:': root
Password for 'http://[email protected]:':
warning: You appear to have cloned an empty repository.
[root@git ~]# ls
java-demo  php  psi-probe
[root@git ~]# cd php/
#创建代码
[root@git php]# echo "1111" > yi.php
[root@git php]# git add .
[root@git php]# git commit -m "all 1"
[master (root-commit) 271cd7a] all 1
 1 file changed, 1 insertion(+)
 create mode 100644 yi.php
 #设置代码版本
[root@git php]# git tag 1.0.1
[root@git php]# git push origin master 1.0.1   #根据版本上传代码
Username for 'http://39.99.55.128:': root
Password for 'http://[email protected]:':
Counting objects: 3, done.
Writing objects: 100% (3/3), 202 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To http://39.99.55.128:/root/php.git
 * [new branch]      master -> master
 * [new tag]         1.0.1 -> 1.0.1
 
#上传代码版本2
echo "2222" >> er.php
[root@git php]# git add .
[root@git php]# git commit -m "all 2"
[master a382dec] all 2
 1 file changed, 1 insertion(+)
 create mode 100644 er.php
[root@git php]# git tag 1.0.2
[root@git php]# git push origin master 1.0.2
Username for 'http://39.99.55.128:': root
Password for 'http://[email protected]:':
Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 258 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To http://39.99.55.128:/root/php.git
   271cd7a..a382dec  master -> master
 * [new tag]         1.0.2 -> 1.0.2

二、gitlab使用access token连接jenkins
jenkins+gitlab+ansible实现PHP代码回滚及上传_第1张图片
jenkins+gitlab+ansible实现PHP代码回滚及上传_第2张图片
jenkins+gitlab+ansible实现PHP代码回滚及上传_第3张图片

四、配置jenkins连接gitlab
jenkins+gitlab+ansible实现PHP代码回滚及上传_第4张图片
jenkins+gitlab+ansible实现PHP代码回滚及上传_第5张图片
jenkins+gitlab+ansible实现PHP代码回滚及上传_第6张图片

五、配置gitlab通过ssh进行验证

#jenkins将密钥发送给gitlab服务器
ssh-copy-id [email protected]

#在gitlab端查看密钥内容复制到gitlab网页中ssh配置中
cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDaUEWbOJjfBlmsMDFbT8yY4H2f6xGUNPlJx+WQtCj4K+WMrZsY9sl/wBzeMdmRDNzGEbudcrOrZ1go9+wMO/1o5t5LC4yyzEPtxuWuXbAVdck1Nc4gGobQxJ8BeWDv3uTDJEtk06aXJ9od+b9/I8hJ8SaYoXcpVkjSbyQ2q1IqkH/2SgW8Ctu7Ap root@jenkin


jenkins+gitlab+ansible实现PHP代码回滚及上传_第7张图片
五、jenkins使用ansible进行代码上线

  • jenkins中安装ansible插件
  • jenkins权限提升为root
vim /etc/sysconfig/jenkins
JENKINS_USER="root"
systemctl restart jenkins
  • web与jenkins之间需要ansible进行项目移动,所以要做双向的ssh密钥对(以root用户做)

六、jenkins配置项目
jenkins+gitlab+ansible实现PHP代码回滚及上传_第8张图片
jenkins+gitlab+ansible实现PHP代码回滚及上传_第9张图片
jenkins+gitlab+ansible实现PHP代码回滚及上传_第10张图片
jenkins+gitlab+ansible实现PHP代码回滚及上传_第11张图片
jenkins+gitlab+ansible实现PHP代码回滚及上传_第12张图片
jenkins+gitlab+ansible实现PHP代码回滚及上传_第13张图片
七、测试项目
jenkins+gitlab+ansible实现PHP代码回滚及上传_第14张图片
jenkins+gitlab+ansible实现PHP代码回滚及上传_第15张图片

你可能感兴趣的:(linux)