Linux下Docker安装部署Jenkins与Gitlab钩子配置

一、搭建jenkins

1. 搜索镜像:docker search jenkins

2. 拉取镜像:docker pull jenkins/jenkins

3. 创建容器(自己创建一个jenkins目录)

docker run -t -i -p 8080:8080 -v jenkins:/var/jenkins_home -d --name jenkins jenkins/jenkins

二、nginx配置

upstream jenkins {

  server 127.0.0.1:8080;

}

server {

  listen  80;

  server_name  Jenkins.test.demo;

  location / {

    #proxy_set_header X-Real-IP $remote_addr;

    proxy_set_header  Host  $host;

    proxy_set_header  X-Forwarded-For  $proxy_add_x_forwarded_for;

    proxy_pass   http://jenkins;

    proxy_read_timeout 120;

    proxy_ignore_client_abort on;

  }

}

三、jenkins配置

1. 打开Jenkins.test.demo(nginx中配置的域名)或者 127.0.0.1:8080,等待一会后到如下界面,根据提示复制出密码

Linux下Docker安装部署Jenkins与Gitlab钩子配置

 

 

2. 选择安装推荐的插件(等待...)-》创建第一个管理员-》实例配置-》保存并完成-》开始使用jenkins

3. 安装一些插件:Publish Over SSH、SSH、Generic Webhook Trigger、Gitlab、Git Parameter

Manage jenkins-》manage Plugins

Linux下Docker安装部署Jenkins与Gitlab钩子配置

 

 

所有插件安装完成后重启:Jenkins.test.demo/restart

4. 配置宿主机docker容器ssh免密登录到宿主机(或者其他远程服务器),并能够执行宿主机shell脚本(重要!!!)

1) 进入到容器中,执行:ssh-keygen -m PEM -t rsa -b 4096

2) 将生成的公钥(id_rsa.pub)追加至宿主机~/.ssh/authorized_keys中

 

5. jenkins配置git账号密码

系统管理-》Manage Credentials-》全局-》添加凭据

 Linux下Docker安装部署Jenkins与Gitlab钩子配置

 

 

6. jenkins配置ssh免密登录信息

1) 系统管理-》系统配置-》Publish over SSH

 Linux下Docker安装部署Jenkins与Gitlab钩子配置

 

2) -》新增

 Linux下Docker安装部署Jenkins与Gitlab钩子配置

 

3) -》保存

 

四、jenkins配置gitlab全局凭据

1. 设置gitlab访问令牌

 Linux下Docker安装部署Jenkins与Gitlab钩子配置

 

生成的token自行保存,无法二次访问

2. 系统管理-》Manage Credentials-》全局-》添加凭据

Linux下Docker安装部署Jenkins与Gitlab钩子配置

 

 

 

五、jenkins任务

1. jenkins-》新建任务-》输入任务名称-》构建一个*风格的软件项目-》确定

2. -》源码配置

 Linux下Docker安装部署Jenkins与Gitlab钩子配置

 

3. -》构建触发器

 Linux下Docker安装部署Jenkins与Gitlab钩子配置

 

以上配置好后,根据提示拿到一个hook链接,用于配置gitlab:http://Jenkins.test.demo/generic-webhook-trigger/invoke?token=test

此处的test就是上面自定义的token值

4. -》构建环境,选择Abort the build if it's stuck 即可

5. -》构建-》添加构建步骤-》send files or execute commands over SSH

 Linux下Docker安装部署Jenkins与Gitlab钩子配置

 

6. -》保存

 

六、gitlab钩子

-》设置-》Webhooks-》配置hook链接-》Add webhoook

 Linux下Docker安装部署Jenkins与Gitlab钩子配置

 

上一篇:PHP中查询指定时间范围内的所有日期,月份,季度,年份


下一篇:Elastic 之倒排索引(二)