当gitlab上代码发生变更时,jenkins自动将代码部署到服务器上,常用于测试环境

实现方法

在gitlab上创建一个新的开发分支

jenkins1.png

jenkins2.png

在jenkins上安装插件

plugin1.png

plugin2.png

插件安装完毕后需要对jenkins的配置做一些更改:

1.允许登录用户可以做任何事情

2.关闭跨站伪造保护

config1.png

config2.png

新建一个开发分支的任务

new1.png

生成一个token值

1
2
root@jenkins:~# openssl rand -hex 12
2d6f3d9475277d20545a4182

填入token值

new2.png

new3.png

new4.png

测试访问连接

1
2
#jenkins的地址、job和token拼出的连接,一旦访问此连接将触发构建
root@jenkins:~# curl 192.168.27.12:8080/job/mylinu_develop/build?token=2d6f3d9475277d20545a4182

url测试通过后将其写入gitlab

git1.png

git2.png

在Jenkins上修改构建的脚本

build.png

测试

对开发分克隆

1
2
3
4
5
6
7
8
9
root@gitlab:~# git clone -b develop http://192.168.27.11/mylinuxops/web1.git
Cloning into 'web1'...
Username for 'http://192.168.27.11': masuri
Password for 'http://masuri@192.168.27.11':
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (8/8), done.
remote: Total 15 (delta 1), reused 15 (delta 1)
Unpacking objects: 100% (15/15), done.

重新修改后再次提交

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
root@gitlab:~/web1# cat index.html 
welcome to mylinuxops.com v1
welcome to mylinuxops.com v2
welcome to mylinuxops.com v3
welcome to mylinuxops.com v4
welcome to mylinuxops.com v5
welcome to mylinuxops.com v6
root@gitlab:~/web1# git add ./*
root@gitlab:~/web1# git commit -m "v6"
[develop 3c3104b] v6
1 file changed, 6 insertions(+), 6 deletions(-)
root@gitlab:~/web1# git push
Username for 'http://192.168.27.11': masuri
Password for 'http://masuri@192.168.27.11':
Counting objects: 3, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 275 bytes | 275.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote:
remote: To create a merge request for develop, visit:
remote: http://192.168.27.11/mylinuxops/web1/merge_requests/new?merge_request%5Bsource_branch%5D=develop
remote:
To http://192.168.27.11/mylinuxops/web1.git
7b5ebd9..3c3104b develop -> develop

触发了自动部署,后端服务器上已经变为v6版本

1
2
3
4
5
6
7
root@gitlab:~/web1# curl 192.168.27.248/myapp/index.html
welcome to mylinuxops.com v1
welcome to mylinuxops.com v2
welcome to mylinuxops.com v3
welcome to mylinuxops.com v4
welcome to mylinuxops.com v5
welcome to mylinuxops.com v6