我的docker随笔35:jenkins服务部署
Posted 李迟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我的docker随笔35:jenkins服务部署相关的知识,希望对你有一定的参考价值。
本文涉及一种在容器中部署 jenkins 服务的方法,后续将其与 gitlab 配合以实现 CICD 功能。其目的是为了在实际工作中使用代码托管及自动化操作。
一、引言
因工作需要,需部署 jenkins 服务器进行测试。与网上几分钟即可部署的文章相比,本文更注重个人的实践记录。本文与前面的 gitlab 有一定的关联。
二、技术小结
- gitlab 有官方的 Docker 镜像。本文直接使用之。
- 使用 docker-compose 部署,指定端口。注意挂载 docker.socket文件。
- 首次登录会提示输入随机文件,一旦输入并设置成功后,不再提示。
- 各种配置慢慢补充。
三、部署gitlab服务
3.1 部署脚本
本文使用 docker-compose 部署,在测试阶段,使用了多个版本。此处是比较简单的版本,用于初次使用。
version: '2'
services:
jenkins:
image: jenkins/jenkins:centos7
container_name: lljenkins
restart: always
volumes:
# 使用主机的docker服务(因为要在jenkins容器中运行docker)
- /var/run/docker.sock:/var/run/docker.sock
# 使用数据盘的目录作为jenkins的工作目录
- $PWD/jenkins_home:/var/jenkins_home
ports:
# 端口映射
- "9999:8080"
- "50000:50000"
networks:
- llgitlab-net
networks:
llgitlab-net:
driver: bridge
注意几点:
- 脚本中指定了
docker.sock
的路径,后续可以在jenkins用docker构建。 - jenkins 数据目录在本目录下的
jenkins_home
目录,其权限修改为1000,命令为sudo chown -R 1000 jenkins_home
。 - 根据实际环境,选择了 centos7 版本的 jenkins。
3.2 运行
运行命令如下:
docker-compose up -d
注:jenkins 的启动比 gitlab 快很多。
停止命令如下:
docker-compose down
运行过程中会出现初始密码:
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
c4365f900e554ff5b8885d8c2975929b
This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
*************************************************************
四、初次配置
服务启动后,需要进行必要的配置,因此在本文一并给出。
4.1 登录
初次登录时,会提示输入管理员密码,如图1所示:
在 docker 启动时出现有密码,也可以直接在页面所示文件中找到。
4.2 安装插件:
选右侧自定义安装,注:默认也勾选了部分插件。
安装过程图示:
注:笔者在实践中,遇到不可抗拒因素,导致网络不稳定,经常安装不成功,如果尝试多次失败,可以跳过不安装。
五、一些配置
5.1 git 仓库地址问题
配置了项目,构建,提示:
stderr: error: RPC failed; result=22, HTTP code = 404
原因及解决:
在设置项目git地址时,必须添加`.git`后缀,否则地址不认。
5.2 Publish over SSH
更多配置,待使用过程中积累并更新。
以上是关于我的docker随笔35:jenkins服务部署的主要内容,如果未能解决你的问题,请参考以下文章
我的docker随笔37:使用gitlab和jenkins实现CICD