一、ssh登录设置
1.公钥设置
1)创建并复制公钥[Jenkins服务器]
代码语言:javascript复制[root@xxx ~]# ssh-keygen
[root@xxx ~]# cat ./.ssh/id_rsa.pub
ssh-rsa AAAA......................AQpouXntr1e0GLZ/ root@node3
2)在gitlab的web端添加公钥 User Settings -->> SSH Keys
2.私钥设置[非必须]
如果上一步放置好了公钥,添加gitlab上的项目时,就不会有错误提示了,但某些情况下仍然可能提示连接错误,这种情况下可以将私钥添加到Jenkins的web端凭据里面, 但是这样讲私钥直接放web页面上,存在一定的安全隐患 1)复制私钥[Jenkins服务器]
代码语言:javascript复制cat ./.ssh/id_rsa
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAmWQiom8NwXLsCuFv3KR1tOncCjAGTZNVNjAxfYo3iJES7nv1
......
l8GCeTG/BVqSs/cFMJd8xb9p1fmpqFA9N1pbAGlVBrmhff
2)在Jenkins的web端添加私钥
二、添加git项目
1.添加git源码项目
Jenkins中,进入之前的freestyle-job中,在源码管理处,选择git,并粘贴gitlab中的monitor项目地址,如下
注意:如果报错提示不能连接之类的问题,可能就是ssh不成功,就需要按前面的方法添加私钥到jenk中,然后再在Credentials处选择添加好的凭据,或直接在此处点add进行凭据添加
2.构建获取源码
1)构建 添加完成后,点击立即构建,然后查看构建结果和控制台输入,如果没有报错,则构建成功,
2)查看源码 进入命令行 ,查看Jenkins工作目录中是否有该项目
代码语言:javascript复制[root@xxx ~]# ll /var/lib/jenkins/workspace/freestyle-job/
total 1364
-rw-r--r--. 1 root root 1208 Aug 11 23:39 404.html
-rw-r--r--. 1 root root 27249 Aug 11 23:39 alerts.html
......
-rw-r--r--. 1 root root 22720 Aug 11 23:39 userMng.html
已经将源码从gitlab拉取到Jenkins本地工作目录了.
三、发布静态网页
1.与web服务器免秘钥认证
web服务再node1上,因此需要做与node1的ssh认证
代码语言:javascript复制[root@node3 ~]# ssh-copy-id -i /root/.ssh/id_dsa.pub 10.0.0.11
2.修改freestyle-job项目
将此项目中的构建步骤,改为打包源码,并复制到web服务器解包. 1)用到的命令如下
代码语言:javascript复制tar zcf /opt/web.tar.gz ./* --exclude=.git
scp /opt/web.tar.gz 10.0.0.11:/tmp
ssh 10.0.0.11 "tar xf /tmp/web.tar.gz -C /data/html/www/"
2)截图如下
3.开发构建
点击开始构建,构建完成后如果没有报错,就在浏览器输入10.0.0.11,查看结果