以下是基于不同环境的Jenkins自动化部署实战要点,结合搜索资源中的关键步骤整理:
安装Jenkins
Linux(以Ubuntu为例):
sudo apt update && sudo apt install openjdk-17-jdk # 安装Java
wget -O /usr/share/keyrings/jenkins-keyring.asc https://pkg.jenkins.io/debian-stable/jenkins.io-2023.keys
echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] https://pkg.jenkins.io/debian stable binary/" | sudo tee /etc/apt/sources.list.d/jenkins.list
sudo apt install jenkins # 安装Jenkins
sudo systemctl start jenkins && sudo systemctl enable jenkins # 启动并开机自启
访问 http://服务器IP:8080,使用 /var/lib/jenkins/secrets/initialAdminPassword 中的初始密码解锁。
Docker部署:
docker run -d --name jenkins -p 8080:8080 -p 50000:50000 -v jenkins_home:/var/jenkins_home jenkins/jenkins:lts
通过容器日志获取初始密码。
安装必要插件
H/5 * * * *每5分钟)或“Webhook触发”(需在代码仓库配置Jenkins地址)。在项目根目录创建Jenkinsfile,定义构建流程(示例为Spring Boot项目):
pipeline {
agent any
stages {
stage('Checkout') {
steps { git branch: 'main', url: 'https://github.com/your-repo/spring-boot-app.git' }
}
stage('Build') {
steps { sh 'mvn clean package -DskipTests' } // 编译打包
}
stage('Docker Build') {
steps {
script {
docker.build("your-docker-repo/spring-boot-app:${env.BUILD_NUMBER}")
}
}
}
stage('Deploy') {
steps {
sh 'docker push your-docker-repo/spring-boot-app:${env.BUILD_NUMBER}' // 推送镜像
sh 'ssh user@server "docker pull your-docker-repo/spring-boot-app:${env.BUILD_NUMBER} && docker stop app || true && docker rm app || true && docker run -d --name app -p 8080:8080 your-docker-repo/spring-boot-app:${env.BUILD_NUMBER}"' // 部署到服务器
}
}
}
}
sh命令执行Shell脚本,完成代码拉取、编译、构建镜像、推送及部署。npm install安装依赖,npm run build生成静态文件。Publish Over SSH插件将dist目录部署到Nginx服务器。pipeline {
agent any
stages {
stage('Checkout') {
steps { git branch: 'main', url: 'https://github.com/your-repo/vue-app.git' }
}
stage('Build') {
steps { sh 'npm install && npm run build' }
}
stage('Deploy') {
steps {
sshPublisher(
publishers: [
sshPublisherDesc(
configName: 'nginx-server', // 配置的SSH服务器别名
transfers: [
sshTransfer(
sourceFiles: 'dist/**',
removePrefix: 'dist',
remoteDirectory: '/var/www/html'
)
]
)
]
}
}
}
}
}
权限管理
环境一致性
日志与监控
docker logs或服务器日志验证应用状态。以上步骤参考自,可根据实际项目需求调整。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。