Azure Web App部署Jenkins遇阻:无免费VM/CLI权限,求助方案
在Azure Web App(Java 17 + Tomcat 10)上部署Jenkins的可行方案
针对你的学生团队场景(Azure免费订阅限制),以下是两种无需额外付费的Jenkins部署方案,同时解决你之前遇到的问题:
方案1:部署到Web App自带的Tomcat容器
这是最贴合现有Web App环境的方式:
- 登录Azure门户,进入你的Web App,打开高级工具(Kudu),或用FTP工具连接到Web App文件系统
- 将
jenkins.war上传到site/wwwroot/webapps目录(Tomcat的默认应用部署目录) - 重启Web App,Tomcat会自动解压
jenkins.war为jenkins子目录 - 访问路径:
https://<你的Web App名称>.azurewebsites.net/jenkins - 首次初始化密码:在Kudu的文件管理器中打开
site/wwwroot/webapps/jenkins/WEB-INF/jenkins/secrets/initialAdminPassword,复制内容完成初始化
方案2:使用Jenkins自带的Jetty容器(替换默认Tomcat)
如果不想依赖Web App自带的Tomcat,可直接启动Jenkins独立容器:
- 将
jenkins.war上传到site/wwwroot目录 - 在Azure门户的Web App配置页面,找到常规设置,修改启动命令为:
(必须用java -jar jenkins.war --httpPort=%PORT%%PORT%环境变量指定端口,因为Azure Web App会动态分配外部转发的端口,硬写8080会导致端口不匹配) - 重启Web App,等待进程启动完成后,直接访问Web App默认域名
https://<你的Web App名称>.azurewebsites.net - 首次初始化密码:在Kudu中打开
site/wwwroot/.jenkins/secrets/initialAdminPassword获取
你之前操作失败的原因解释
- 直接将war包放到
wwwroot目录无响应:Tomcat型Web App的部署目录是webapps,而非根目录wwwroot,Tomcat不会自动处理根目录下的war包 - 手动执行
java -jar jenkins.war后无法访问:手动启动的进程未绑定Web App的端口转发规则,且Web App默认启动的Tomcat已占用端口,同时手动进程不受Web App进程管理,重启后会消失,必须通过修改启动命令让平台托管该进程并使用正确端口
内容的提问来源于stack exchange,提问作者Ryu Kobayashi
相关产品推荐
相关产品推荐

