ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2022-03-03 12:31:42  阅读:206  来源: 互联网

标签:配置 Linux Gitlab 宿主机 proxy jenkins test Jenkins


一、搭建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,等待一会后到如下界面,根据提示复制出密码

 

 

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

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

Manage jenkins-》manage Plugins

 

 

所有插件安装完成后重启: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-》全局-》添加凭据

 

 

 

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

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

 

 

2) -》新增

 

 

3) -》保存

 

四、jenkins配置gitlab全局凭据

1. 设置gitlab访问令牌

 

 

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

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

 

 

 

五、jenkins任务

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

2. -》源码配置

 

 

3. -》构建触发器

 

 

以上配置好后,根据提示拿到一个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

 

 

6. -》保存

 

六、gitlab钩子

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

 

 

标签:配置,Linux,Gitlab,宿主机,proxy,jenkins,test,Jenkins
来源: https://www.cnblogs.com/wuwudiudiu/p/15959206.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有