docker安装Jenkins并配置Git

前置条件: 安装docker

参考: Jenkins官方安装文档

1 安装docker:dind

shell 复制代码
docker run \
  --name jenkins-docker \
  --rm \
  --detach \
  --privileged \
  --network jenkins \
  --network-alias docker \
  --env DOCKER_TLS_CERTDIR=/certs \
  --volume jenkins-docker-certs:/certs/client \
  --volume jenkins-data:/var/jenkins_home \
  --publish 2376:2376 \
  docker:dind \
  --storage-driver overlay2

2 通过Dockerfile安装Jenkins

dockerfile 复制代码
FROM jenkins/jenkins:2.452.3-jdk17
USER root
RUN apt-get update && apt-get install -y lsb-release
RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
  http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg
RUN echo "deb [arch=$(dpkg --print-architecture) \
  signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
  http://mirrors.aliyun.com/docker-ce/linux/debian \
  $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
RUN apt-get update && apt-get install -y docker-ce-cli
USER jenkins
RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"

3 构建

shell 复制代码
docker build -t myjenkins-blueocean:2.452.3-1 .

4 运行镜像

shell 复制代码
docker run \
  --name jenkins-blueocean \
  --restart=on-failure \
  --detach \
  --network jenkins \
  --env DOCKER_HOST=tcp://docker:2376 \
  --env DOCKER_CERT_PATH=/certs/client \
  --env DOCKER_TLS_VERIFY=1 \
  --publish 8080:8080 \
  --publish 50000:50000 \
  --volume jenkins-data:/var/jenkins_home \
  --volume jenkins-docker-certs:/certs/client:ro \
  myjenkins-blueocean:2.452.3-1 

5 访问web页面

shell 复制代码
# 非Docker安装方式获取初始解锁密码
cat /var/lib/jenkins/secrets/initialAdminPassword
# Docker安装方式获取初始解锁密码, 注意替换容器id或名称
docker exec ${CONTAINER_ID or CONTAINER_NAME} cat /var/jenkins_home/secrets/initialAdminPassword
# 访问`ip:8080`, 输入密码, 创建管理员账户, 安装推荐插件
# 安装插件Role-based Authorization Strategy(管理Jenkins用户权限)和Publish Over SSH(通过SSH发送文件并执行命令)

6 配置Git

shell 复制代码
# 进入容器
docker exec -it jenkins-blueocean bash
# 生成public key, 会提示生成位置
ssh-keygen -t ed25519 -C "your_email@example.com"
cd /var/jenkins_home/.ssh/
cat id_ed25519.pub
# 将得到的文本公钥(SSH Key)添加到github或gitlab中
相关推荐
生活爱好者!3 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器
MC皮蛋侠客3 小时前
uv 系列(七):CI/CD、Docker 与私有索引——生产级交付
python·ci/cd·docker·uv
用户233376852186 小时前
Docker 端口"时通时不通"的排查实战
docker
做个文艺程序员7 小时前
Linux第22篇:用Docker容器化你的Java SaaS应用:一次构建,随处运行
java·docker·容器
ShiXZ2137 小时前
Redis docker-compose 部署指南
redis·docker·eureka
our_times7 小时前
# Git 高频命令实战指南:从日常开发到进阶协作
git
PBitW7 小时前
git 中容易遗忘的点 (二) ⚡⚡⚡
前端·git·面试
PBitW8 小时前
git 中容易遗忘的点 (三) 🚀🚀🚀
前端·git·面试
fengyehongWorld8 小时前
Jenkins 安装与简单配置
运维·jenkins
梦梦代码精9 小时前
基于ThinkPHP6 + Vue3的家政预约系统全解析:从LBS定位到自动派单的完整实现
java·docker·开源·php·代码规范