记录---docker安装及配置jenkins全流程

🧑‍💻 写在开头

点赞 + 收藏 === 学会🤣🤣🤣

一、安装 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安装及配置jenkins全流程

可以通过以下命令获取到密钥:

docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

填入界面之后,会进入下面这样的页面,安装插件,创建管理员账号,后面跟着界面操作就行了:

记录---docker安装及配置jenkins全流程

二、环境配置

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 部分,添加如下内容:

记录---docker安装及配置jenkins全流程

Publish over SSH 密钥配置

跨服务器部署时,需要配置 SSH 密钥:

  1. 进入容器
# 进入 Jenkins 容器内部,注意改成您的容器名称
docker exec -u root -it jenkins bash
  1. 生成密钥
ssh-keygen -m PEM -t rsa -b 2048

这时候需要输入生成文件路径,默认即可,同时要输入密码,你个人输入的密钥要记住,后面配置要用。接下来就获取响应的密钥:

# 打印私钥
cat /root/.ssh/id_rsa
# 打印公钥
cat /root/.ssh/id_rsa.pub
  1. 把私钥配置到 Jenkins 上面,在 Jenkins 的全局配置中配置如下:
记录---docker安装及配置jenkins全流程
  1. 配置目标服务器的 authorized_keys:Jenkins 服务器拷贝 id_rsa.pub 文件的内容放到目标服务器 vim /root/.ssh/authorized_keys 文件中。

密钥所有内容即配置好了。

三、使用数据备份和迁移

  1. 数据备份:Jenkins 我们
版权声明:程序员胖胖胖虎阿 发表于 2024年12月24日 下午2:27。
转载请注明:记录---docker安装及配置jenkins全流程 | 胖虎的工具箱-编程导航

相关文章

暂无评论

暂无评论...