构建自动发布项目

需求:日常运维中,发布代码几乎占用运维时间的三分一,提高运维效率之一就是提交发布代码效率。当开发push代码到服务器时候,自动触发jenkins执行构建任务并推送到测试web服务器进而加快开发和运维效率。本文写出测试坏境,完美运行,成产坏境发布不方便放出来,小伙伴可以参考思路和脚本自行更改即可。在此非常感谢老男孩,这几年大部分技术来源老男孩架构师和运维培训等相关视频,当然python入门也是不可避免。

证书免密码登录:
系统:CentOS Linux release 7.3.1611
发布服务器(也是jenkins安装机):192.168.1.248
Web服务器:192.168.1.234

发布服务器:192.168.1.248
发布用户为www或者nginx,这里统一为www

1
2
3
4
5
useradd www
su www
ssh-keygen -t rsa
[www@localhost tmp]$ cat /home/www/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDh/b/QBVGwxzsETwkY/DzxI/iFu8bn9Yr/+gUHOlrCsVjo3kLc7iVg8s/VE5VTNNWcjhzcTDT3wCOr+P/hMjmvWSpFagW4ZMHh+EY8YyUNh3/dXSVIPMD0X4GWWW+U957SwI4LCL+E3O7mQV7H7orTZMfJWR9FeJk6Ls7h/DaTOKWe7BbrGMbHI/Q2iQCBpyY8VuJnEQe7tuV71UnK7VQGCjZY4n+Ncy4/8Ja3bAVQt9QYlZfqlUXI+B3OP1HkkY3AQXhQdrA6qq4tJL4hHLZ9kCsq4EQxmw6N9jyzV3IyP1KGGxLRQT38MzwEfJIEvvYmdF83n7fx7M0Wcsp0ruz9 www@localhost.localdomain

Web服务器:192.168.1.234

1
2
3
4
5
6
7
useradd www
su www
ssh-keygen -t rsa
把上面服务器公匙复制到/home/www/.ssh/authorized_keys(需要新增)
[www@localhost Webroot]$ vim /home/www/.ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDh/b/QBVGwxzsETwkY/DzxI/iFu8bn9Yr/+gUHOlrCsVjo3kLc7iVg8s/VE5VTNNWcjhzcTDT3wCOr+P/hMjmvWSpFagW4ZMHh+EY8YyUNh3/dXSVIPMD0X4GWWW+U957SwI4LCL+E3O7mQV7H7orTZMfJWR9FeJk6Ls7h/DaTOKWe7BbrGMbHI/Q2iQCBpyY8VuJnEQe7tuV71UnK7VQGCjZY4n+Ncy4/8Ja3bAVQt9QYlZfqlUXI+B3OP1HkkY3AQXhQdrA6qq4tJL4hHLZ9kCsq4EQxmw6N9jyzV3IyP1KGGxLRQT38MzwEfJIEvvYmdF83n7fx7M0Wcsp0ruz9 www@localhost.localdomain
~

注意下文件授权

安装Gitlab Plugin和Gitlab Hook Plugin插件
系统管理—管理插件—可选插件,选择安装Gitlab Plugin和Gitlab Hook Plugin(git和Build Authorization Token Root Plugin和Build Pipeline Plugin视图插件也需要安装上)

Gitlab配置发布用的key
Gitlab安装请查看最后参考资料链接:
在发布机生成公钥


复制公钥到以下:

在192.168.1.248机子上测试是否能拉取代码

Jenkins新增认证方式

选择 Add Credentials

配置发布项目
选择新增,输入auto-deploy,选择构建一个自由风格的软件项目

备注:ubuntu查看gitlab版本:dpkg -l|grep gitlab

保存后,点击立即构建,选择控制台输出可以看出/root/.jenkins/workspace/

随机生成10个数字用于token验证:
[root@localhost ~]# openssl rand -hex 10
f25b0694e4f519a04ee8
配置jenkins触发器

配置Gitlab Weboos



配置完成后点击test测试下是否自动触发jenkins构建

脚本配置参考前博客
http://pythonyw.cn:90/article/?id=38
或者http://linuxops.xyz/2017/02/20/shell%E6%89%B9%E9%87%8F%E5%8F%91%E5%B8%83%E7%AB%99%E7%82%B9/
配置jenkins构建执行命令

测试如下:
1、更改index.html内容

2、查看控制台输出

3、访问测试站点

Comments

2017-02-27