Bitbucket、Jenkins和Ant实现Javaweb的自动编译和部署

这篇博文介绍了如何使用Bitbucket、Jenkins和Ant实现Java Web项目的自动编译和部署。作者在Ubuntu环境中遇到Ant编译权限问题,解决后配置Jenkins与Bitbucket的Webhooks,确保代码提交后能触发自动部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Bitbucket、Jenkins和Ant实现Javaweb的自动编译和部署

我的第一篇博文,来点干货,结合我现在在做的项目中碰到的自动编译和部署的问题,分享下经验……

最近在做一个javaweb的项目,采用的是前后端分离的开发模式,代码仓库选的是实验室师兄推荐的Bitbucket,为了方便测试,查了下可以直接从Bitbucket copy代码然后自动编译部署的方法,最后选用的是Jenkins。

Bitbucket建仓库之类的就不在这里细说了,网上挺多资料可以参考的。

Jenkins部署之类的推荐看一篇博客, jenkins+tomcat+ant+java+linux 自动部署项目,个人觉得写得非常详细,基本上就是build.xml根据自己项目的结构修改一下。然后我在ant编译的过程中会碰到ant编译的错误, command execution failed.Maybe you need to configure the job to choose one of your Ant installations? 网上会提到有三种可能:(1)确认linux下jenkins用户可以执行ant进行编译第(2)查看你的系统配置,是否正确配置了ANT_HOME和JAVA_HOME,并且生效的。(3)查看你的project配置,Invoek Ant中Ant Version配置不是Default,而是你的ant版本名称。我是在Ubuntu下编译的,出错的原因是我配置的jenkins用户没有ant编译的权限,有碰到这个问题的朋友可以关注下

我想重点分享下从bitbucket代码仓库代码提交然后自动部署到jenkins的这个过程,在配置过程中,发现国内的资料时间都相对比较久远,试了好多次都没有成功,后来在

### BitbucketJenkins 混合部署配置指南 #### 配置概述 为了实现 Bitbucket Jenkins 的混合部署,可以通过以下方式完成集成。此过程涉及设置 Webhook、定义凭证以及编写 Jenkins Pipeline 脚本。 --- #### 步骤一:安装必要的插件 在 Jenkins 中安装 `Bitbucket` 插件 `Pipeline` 插件以支持与 Bitbucket Cloud 或 Server 的交互[^2]。前往 **Jenkins Dashboard > Manage Jenkins > Plugin Manager** 并搜索这些插件进行安装。 --- #### 步骤二:配置全局工具 进入 **Manage Jenkins > Global Tool Configuration**,确保 Maven 已正确配置并可用。这一步对于执行构建命令至关重要[^2]。 --- #### 步骤三:创建凭据 在 Jenkins 中存储用于访问 Bitbucket 的用户名密码: 1. 访问 **Manage Jenkins > Credentials > System > Add Credentials**。 2. 类型选择 `Username with Password`。 3. 输入您的 Bitbucket 用户名 API 密钥作为密码。 4. 将其保存,并记录下生成的 `credentialsId`,稍后会用到它。 --- #### 步骤四:配置 Jenkins Job 创建一个新的 Jenkins Pipeline Job,并在其配置文件中指定所需的参数: ```groovy // Jenkinsfile (Declarative Pipeline) pipeline { agent any environment { BITBUCKET_CREDENTIALS_ID = 'your-bitbucket-creds-id' REPO_OWNER = 'your-repo-owner' REPO_NAME = 'your-repository-name' } stages { stage('Checkout Code') { steps { git branch: 'main', url: "https://bitbucket.org/${env.REPO_OWNER}/${env.REPO_NAME}.git", credentialsId: "${env.BITBUCKET_CREDENTIALS_ID}" } } stage('Build') { steps { sh 'mvn clean install' } } stage('Test') { steps { sh 'mvn test' } } stage('Deploy') { steps { script { withCredentials([usernamePassword( credentialsId: env.BITBUCKET_CREDENTIALS_ID, usernameVariable: 'BITBUCKET_USER', passwordVariable: 'BITBUCKET_PASSWORD' )]) { sh """ curl -u ${BITBUCKET_USER}:${BITBUCKET_PASSWORD} \ -X POST https://api.bitbucket.org/2.0/repositories/${REPO_OWNER}/${REPO_NAME}/pipelines/triggers/manual """ } } } } } } ``` 在此脚本中,通过 `withCredentials` 函数加载之前配置的凭据来触发远程操作[^2]。 --- #### 步骤五:配置 Bitbucket Webhooks 为了让 Bitbucket 自动通知 Jenkins 关于代码更改的信息,请按照以下步骤操作: 1. 登录至 Bitbucket 控制台。 2. 找到目标仓库,导航到 **Settings > Webhooks**。 3. 添加新的 Webhook,URL 设置为 `<jenkins-url>/bitbucket-scmsource-hook/notify>`。 4. 启用所有事件类型以便捕获推送其他活动的通知。 --- #### 多云环境下的扩展考虑 如果计划在未来采用多云策略,则应评估 Docker 容器化技术的应用价值。容器化的应用程序能够更轻松地迁移到不同的云服务提供商(如 AWS、Azure 或 GCP),从而增强灵活性一致性[^4]。 --- ### 注意事项 - 确保防火墙允许来自 BitbucketJenkins 实例之间的网络通信。 - 如果使用的是私有 Bitbucket Server,请调整 URL 地址以匹配内部域名或 IP 地址。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值