安装jenkins
1. jinkens安装前置步骤
docker已经安装
jdk已安装(1.8及以上)
2. 安装jenkins并启动
- 拉取jenkins镜像,不能直接拉取官网jenkins版本,否则无法安装插件
docker pull jenkins/jenkins:2.426.2-lts #需要指定版本,不然拉取的是老版本
- 创建挂载目录
mkdir -p /usr/docker/jenkins_data
- 创建jenkins_hemo并授予权限
mkdir -p /var/jenkins_home#好像不需要这步,这个文件夹在容器内部,部署完成之后docker exec -it <容器名或ID> /bin/bash进入
chmod 777 jenkins_home
3. 启动jenkins容器
docker run -d -p 8082:8080 -p 50000:50000 -v /usr/docker/jenkins_data:/var/jenkins_home -v /etc/localtime:/etc/localtime -v /usr/bin/docker:/usr/bin/docker -v /var/run/docker.sock:/var/run/docker.sock --restart=on-failure -u 0 --name myjenkins jenkins/jenkins:2.426.2-lts #这里需要指定jenkins容器名-name myjenkins
-d :后台运行容器
-p:端口映射, 左边是本地端口,右边是docker容器端口 ,8080是Jenkins Web 界面的工作端口,50000是JNLP(Java Network Launch Protocol)工作端口。这个端口用于 Jenkins 节点和主控节点之间的通信。
-v :目录挂载,将主机上的 /usr/docker/jenkins_data 目录挂载到容器内的 /var/jenkins_home 目录,用于持久化 Jenkins 的数据。/etc/localtime:/etc/localtime:将本地主机上的时区信息文件挂载到容器内的 /etc/localtime 文件中,确保容器内的时间与主机上的时间一致
-v /usr/bin/docker:/usr/bin/docker: 将主机上的 /usr/bin/docker 文件挂载到容器中的 /usr/bin/docker,这样容器内的 Jenkins 可以直接使用宿主机上的 Docker 命令。在使用 GitLab/Jenkins 等 CI 软件的时候需要使用 Docker 命令来构建镜像,需要在容器中使用 Docker 命令;通过将宿主机的 Docker 共享给容器
-v /var/run/docker.sock:/var/run/docker.sock: 将主机上的 Docker socket 文件挂载到容器中的相同位置,这样容器内的 Jenkins 可以与宿主机上的 Docker 引擎进行通信。
–restart=on-failure:设置容器的重启策略为在容器以非零状态退出(异常退出)时重启。
-u 0:将容器内进程的用户身份设置为 root 用户,等同于-u root。
–name myjenkins:给容器指定一个名称为 myjenkins。
4. 验证jenkins容器是否启动成功
docker ps
5. 获取管理员密码
此时jenkins服务已经启动 ip:8082 #刚才上面设置的端口是8082
docker logs myjenkins 日志获取密码
6. 修改插件源 -- jenkins下载很慢,我们可以将Jenkins默认的插件数据源变更为国内数据源,然后重启docker restart xxx
cd {你的Jenkins工作目录}/updates #进入更新配置目录(上面的jenkins_data)
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json #替换default.json文件中指定的源
cd {你的Jenkins工作目录}/ 找到hudson.model.UpdateCenter.xml文件,url替换为http://mirror.esuni.jp/jenkins/updates/update-center.json #修改下载地址
jenkins插件推荐:
Locale(中文插件)
Gitlab Plugin (拉取 gitlab 中的源代码)
Maven Integration(maven构建工具)
Publish Over SSH(远程推送工具)
Role-based Authorization Strategy(权限管理)
Deploy to container(自动化部署工程所需要插件,部署到容器插件)
git parameter(用户参数化构建过程里添加git类型参数)
标签:容器,插件,usr,jenkins,Jenkins,docker,安装
From: https://www.cnblogs.com/ht7714/p/18195112