核心组件:
# 安装Docker sudo apt install docker.io systemctl enable docker # 创建Jenkins容器 docker run -d -p 8080:8080 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts
密钥配置:
- 生成SSH密钥对:
ssh-keygen -t rsa -b 4096
- 将公钥添加至GitHub/GitLab的Deploy Keys
二、流水线构建(400字)
Jenkinsfile 核心配置:
pipeline { agent any stages { stage('Checkout') { steps { git url: 'git@github.com:your/repo.git', branch: 'main' } } stage('Build') { steps { sh 'mvn clean package' // Java示例 } } stage('Docker Build') { steps { sh 'docker build -t app-image:${BUILD_ID} .' } } stage('Deploy') { steps { sh 'docker stop app-container || true' sh 'docker run -d --rm -p 8080:8080 --name app-container app-image:${BUILD_ID}' } } } }
参数化构建技巧:
- 使用
choice
参数选择部署环境(dev/staging/prod) - 通过
withCredentials
绑定数据库密码
三、高级实践(300字)
多阶段构建优化镜像:
dockerfile
# 构建阶段 FROM maven:3.8-jdk-11 AS build COPY . /app RUN mvn package # 运行阶段 FROM openjdk:11-jre-slim COPY --from=build /app/target/*.jar /app.jar CMD ["java", "-jar", "/app.jar"]
监控集成:
- Prometheus指标暴露:
-javaagent:jmx_prometheus.jar=8081:config.yaml
- Grafana看板模板ID:13671
四、排错指南(200字)
常见问题:
- 权限拒绝:sudo usermod -aG docker jenkins # 添加Jenkins到docker组 systemctl restart jenkins
- 内存溢出:vm.max_map_count=262144
原创文章,作者:全球vps测评资讯,如若转载,请注明出处:https://www.druglion.com/524.html