1.jenkins自动拉取git仓库的代码

本文介绍了如何使用jenkins自动化部署,包括安装gitee插件,配置jenkins任务以自动拉取git代码,实现jenkins服务器与应用服务器之间的免密scp操作,以及编写启动和停止脚本进行应用部署。

(1)安装gitee插件到jenkins

 (2)修改任务项

 

 gitee默认不允许内网触发。----必须要配置内网穿透

 修改gitee远程仓库

 

测试:

修改idea中的代码并提交到gitee上,会自动触发jenkins---拉取--编译---打包

2. 完成自动化部署

### Jenkins 自动部署 Git 代码不使用 Job 名称配置 #### 使用 Webhook 和 Pipeline 实现自动化流程 为了实现从 Git 代码而不需要依赖特定的作业名称,可以利用 Jenkins 的 Pipeline 功能配合 GitLab 或 GitHub 提供的 Webhooks 来完成这一目标。这种方式下,每当有新的提交推送到远程仓库时,Webhook 将通知 Jenkins 执行预定义的操作。 #### 创建多分支流水线项目 创建一个多分支流水线项目而不是传统的自由风格项目能够帮助更好地管理多个分支上的变更。这允许 Jenkins 根据源码控制系统中的路径动态发现并处理不同的分支或 PR (Pull Request),无需手动指定具体的 job name。 ```groovy // Jenkinsfile 示例 pipeline { agent any triggers { // 定义触发条件, 这里假设使用的是 GitLab webhook genericTrigger( token: 'your_secret_token', regexpFilterText: '$CI_COMMIT_REF_NAME', regexpFilterExpression: 'master|develop' ) } stages { stage('Checkout') { steps { checkout([$class: 'GitSCM', branches: [[name: env.BRANCH_NAME]], userRemoteConfigs: [[url: "git@192.168.1.30:jie/web-page.git"]]])[^1] } } stage('Build') { steps { sh './gradlew build' // 假设是一个 Gradle 构建项目 } } stage('Deploy') { when { expression { return BRANCH_NAME ==~ /^(master)$/ } } steps { script { // 部署逻辑... } } } } } ``` 上述 `Jenkinsfile` 中的关键部分在于 `triggers` 节点下的设置,它指定了当接收到匹配正则表达式的推送事件时会触发构建过程;而在 `checkout` 步骤中,则是从给定 URL 地址克隆对应分支的最新版本代码下来。 #### 设置 GitLab Webhook 前往 GitLab 项目的 Settings -> Webhooks 页面新增一条 Hook 记录: - **URL**: http(s)://<jenkins-server>/generic-webhook-trigger/invoke?token=your_secret_token - **Secret Token**: your_secret_token (确保与 Jenkinsfile 中一致) - **Triggers**: 只勾选 Push events 即可 这样每次向 master 或 develop 分支 push 新代码都会触发展开一次完整的 CI/CD 流程,包括但不限于最新的源文件、编译打包直至最终发布上线[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值