如果您需要从Git拉取代码,并在单台ECS上完成本地的构建与部署,您可以参见本文档完成本地构建与部署。
本示例模板主要用于在单台ECS本地构建并部署应用的场景,如果需要把构建物发布到仓库或者部署到多台ECS,请参考其他相应的示例模板,例如构建镜像至ACR、构建镜像至ACR并部署、构建软件包至OSS以及构建软件包至OSS并部署。
前提条件
示例模板流程
由您指定代码源(例如OSS对象存储或Git),OOS将为您指定的代码源生成临时链接,用于后续代码拉取。
自动拉取代码,并执行构建和部署的脚本。
使用示例
代码源准备
本示例使用了一个Spring Boot的示例项目代码来演示,代码已上传到Gitee和GitHub仓库,如果想要使用,请先fork到自己的仓库。代码地址:
Gitee:gitee示例代码(中国内地建议使用Gitee)
Github:github示例代码(海外地区建议使用Github)
创建模板
登录系统运维管理控制台。
在左侧导航栏,选择
,单击创建模板。在构建部署区域,选择本地构建部署,单击下一步。
在流程配置页签下,填写模板参数,然后单击创建模板。
指定您的代码源,为下一步拉取代码做准备,生成一个临时授权链接。
本示例以Gitee为代码源,填写该代码源的所有者、组织、仓库以及分支等参数。
说明如果您未授权阿里云从您的GitHub/Gitee读取您的代码仓库,请单击前往授权来完成授权操作。
如果您之前已经Fork示例代码,您只需下拉仓库,会自动展示您账号下所有仓库,请选择Fork的示例代码仓库。
拉取代码,构建并部署应用。
选择您想要构建并部署的ECS实例,代码源选择
git
,代码源链接引用了上一任务的输出结果(默认为authorizedUrl
),本文仅提供一个构建部署脚本的示例,您可按需将该示例换成适合自己项目的脚本。部署脚本示例(Alibaba Cloud Linux 3)
### Build jar file. set -e yum install -y maven-3.5.4 mvn package ### Stop the previous version of the application (if any) and deploy the current version. PID=$(ps -ef | grep "sample-spring-1.0-SNAPSHOT.jar" | grep -v "grep" | awk '{print $2}') if [ -n "$PID" ]; then kill -9 $PID fi java -jar target/sample-spring-1.0-SNAPSHOT.jar &
部署脚本示例(Ubuntu)
### Build jar file. set -e apt install -y maven mvn package ### Stop the previous version of the application (if any) and deploy the current version. PID=$(ps -ef | grep "sample-spring-1.0-SNAPSHOT.jar" | grep -v "grep" | awk '{print $2}') if [ -n "$PID" ]; then kill -9 $PID fi java -jar target/sample-spring-1.0-SNAPSHOT.jar &
部署脚本示例(CentOS)
### Build jar file. set -e yum install -y maven mvn package ### Stop the previous version of the application (if any) and deploy the current version. PID=$(ps -ef | grep "sample-spring-1.0-SNAPSHOT.jar" | grep -v "grep" | awk '{print $2}') if [ -n "$PID" ]; then kill -9 $PID fi java -jar target/sample-spring-1.0-SNAPSHOT.jar &
说明执行模板后,这里的代码会被拉取到一个文件夹下(路径为
/root/workspace/执行模板任务ID
),构建部署脚本也会以该文件夹为工作路径,如果需要切换到其他路径,请在脚本中完成。填写完毕,单击创建模板。
执行模板
登录系统运维管理控制台。
在左侧导航栏,选择
。在自定义任务模板页面,找到已创建的模板,单击对应操作列下的创建执行。
在基本信息阶段,配置相应参数,单击下一步:设置参数。
在设置参数阶段,如果没有可配置的参数,直接单击下一步:确定。
单击创建。
在任务执行管理页面,执行状态显示为成功时,表示模板执行任务已完成。
登录云服务器ECS控制台。
找到您选择的ECS实例并远程连接该实例。
具体操作,请参见使用Workbench工具以SSH协议登录Linux实例。
执行以下命令,确认本地构建部署是否成功。
curl http://localhost:8080/hello
看到返回字段,即表明部署成功。