🧑💻 写在开头
点赞 + 收藏 === 学会🤣🤣🤣
一、安装 Jenkins
1. 拉取 Jenkins 镜像
docker pull jenkins/jenkins:lts
2. 在宿主机创建 Jenkins 目录
mkdir -p ~/jenkins_home
sudo chown 1000:1000 ~/jenkins_home
3. 创建 docker-compose.yaml
# 自定义网络模式,可以没有值
networks:
jenkins:
jenkins:
# 指定服务使用的镜像
image: jenkins/jenkins:lts
# 设置容器重启策略为始终重启
restart: always
# 给予容器特权权限,允许进行 Docker-in-Docker 操作
privileged: true
networks:
- jenkins
# 设置容器环境变量
environment:
DOCKER_TLS_CERTDIR: /certs/client
# 定义数据卷映射
volumes:
- /usr/local/jenkins/jenkins-data/certs:/certs/client:ro
# Jenkins 数据目录
- ~/jenkins_home:/var/jenkins_home
# 私钥目录
- /root/jenkins/.ssh:/root/.ssh
# 映射一个目录到宿主机指定目录,留作备份使用
- /usr/local/jenkinsBackup:/var/jenkinsBackup
# 定义端口映射
ports:
- "8080:8080"
- "50000:50000"
# 设置容器运行用户为 root,以便有足够权限操作 Docker
user: root
4. 启动 Jenkins 服务
docker-compose -p jenkins -f docker-compose.yaml up -d
这时候我们可以访问 Jenkins 前端页面,通过浏览器访问地址 http://主机IP:8080/,我们可以看到这样一个界面:
可以通过以下命令获取到密钥:
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
填入界面之后,会进入下面这样的页面,安装插件,创建管理员账号,后面跟着界面操作就行了:
二、环境配置
Java SDK 安装及配置
现在 Jenkins 依赖的 Java 最低版本是 Java 17,安装步骤如下:
docker exec -u root -it you-jenkins-names bash # 要改成对应 Jenkins 容器名称
apt update
apt install -y openjdk-17-jdk
java -version
配置时,进入 Jenkins 全局工具管理界面,找到 JDK 部分,添加如下内容:
Publish over SSH 密钥配置
跨服务器部署时,需要配置 SSH 密钥:
- 进入容器
# 进入 Jenkins 容器内部,注意改成您的容器名称
docker exec -u root -it jenkins bash
- 生成密钥
ssh-keygen -m PEM -t rsa -b 2048
这时候需要输入生成文件路径,默认即可,同时要输入密码,你个人输入的密钥要记住,后面配置要用。接下来就获取响应的密钥:
# 打印私钥
cat /root/.ssh/id_rsa
# 打印公钥
cat /root/.ssh/id_rsa.pub
- 把私钥配置到 Jenkins 上面,在 Jenkins 的全局配置中配置如下:
- 配置目标服务器的 authorized_keys:Jenkins 服务器拷贝 id_rsa.pub 文件的内容放到目标服务器 vim /root/.ssh/authorized_keys 文件中。
密钥所有内容即配置好了。
三、使用数据备份和迁移
- 数据备份:Jenkins 我们
相关文章
暂无评论...