Jenkins 容器化部署实战指南
一 架构与优势
二 快速上手步骤
mkdir -p /data/jenkins_home
chown -R 1000:1000 /data/jenkins_home
docker run -d --name jenkins --restart always \
-p 8080:8080 -p 50000:50000 \
-v /data/jenkins_home:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-e TZ=Asia/Shanghai \
jenkins/jenkins:lts
docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword,随后完成插件安装与管理员创建。docker ps;如需在流水线中使用 Docker,确保挂载了 /var/run/docker.sock 并赋予相应权限。三 典型流水线示例
pipeline {
agent any
environment {
IMAGE = 'your-registry.com/group/app'
TAG = "${env.BUILD_NUMBER}"
}
stages {
stage('Build & Test') {
steps {
sh 'docker build -t $IMAGE:$TAG .'
sh 'docker run --rm $IMAGE:$TAG npm test || true'
}
}
stage('Login & Push') {
steps {
withCredentials([usernamePassword(credentialsId: 'dockerhub', usernameVariable: 'DOCKER_USER', passwordVariable: 'DOCKER_PASS')]) {
sh 'echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin'
sh 'docker push $IMAGE:$TAG'
}
}
}
}
}
四 生产环境关键实践
--user 1000:1000 或创建专用用户;通过反向代理(如 Nginx)启用 HTTPS,仅暴露必要端口,使用独立 Docker 网络 做隔离。0 2 * * * tar -zcvf /backup/jenkins_$(date +\%Y\%m\%d).tar.gz /data/jenkins_home
--memory=4g --cpus=2;配置日志轮转:--log-driver json-file --log-opt max-size=10m --log-opt max-file=3;添加健康检查。五 常见问题与排查
docker ps -a、docker logs jenkins;确认 8080/50000 未被占用或调整映射端口。docker port jenkins 与 firewall-cmd --list-ports;必要时开放端口或排查云安全组。/data/jenkins_home/secrets/initialAdminPassword。docker system prune -a),并按需裁剪 Jenkins 构建历史与工作空间。免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。