全部产品
阿里云办公

在代码库中存储部署脚本

更新时间:2018-01-12 16:13:16

为了方便部署脚本的分发,避免每次更新部署脚本,都要更新所有的机器,可以把部署脚本放置在代码库中,也方便统一维护。

在云效中,您可以按照如下方式组织您的部署配置。

代码库目录

假设您的代码库中有如下文件:

  1. .
  2. ├── app.release
  3. └── appctl.sh

app.release:

  1. deploy.appctl.path=appctl.sh

appctl.sh

  1. # some shell script to deploy your application

app.release描述了应用的构建和打包配置。其中的deploy.appctl.path指示的是需要打包的部署脚本的路径。在该例子中为appctl.sh

云效会在release文件的build.output配置(详见构建和打包配置)的基础上,把部署脚本也打包进去。

部署配置

在 应用->环境->部署配置 中,您可以按照如下方式进行配置:

部署配置

图中配置的文本如下:

  1. /home/admin/package.tgz
  2. /home/admin/package-exploded
  3. if [ -f "/home/admin/package-exploded/appctl.sh" ]; then /home/admin/package-exploded/appctl.sh stop; fi
  4. /home/admin/package-exploded/appctl.sh start
  5. admin

部署脚本样例

  1. Java部署脚本样例
  2. NodeJS部署脚本样例

通过一站式解决方案,新建的代码库会包含上述的部署脚本,新建的应用会包含上述的部署配置。可以直接进行部署。