andock.build
andock-build
andock-build 是一个 Ansible 角色,它会检出你分支的最新提交,运行所有构建钩子以包括依赖项,运行测试,并将构建好的工件推送到 git 工件库。
需求
为了使用 Andock 构建你的应用程序,你需要:
- 在你的部署机器上安装 Ansible
- 类似 composer 的构建工具
- 在两台机器上都安装 git
角色变量
vars:
git_source_repository_path: [email protected]:andock/drupal-8-demo.git # 源代码库
git_target_repository_path: [email protected]:andock/drupal-8-demo-build.git # 目标代码库,可以和源代码库相同
build_path: ~/ansible # 构建发生的路径
branch: "master" # 源分支,目标分支为 master-build
hook_build_tasks: "hooks/build_tasks.yml" # 你的 build_tasks 钩子文件的路径
安装
Andock 是一个通过 Ansible Galaxy 全局分发的 Ansible 角色。要安装 Andock 角色,可以使用以下命令。
$ ansible-galaxy install andock.build
更新
如果你想更新角色,在安装时需要传递 --force 参数。请查看以下命令:
$ ansible-galaxy install --force andock.build
示例剧本
包含一个如何使用你角色的示例(例如,作为参数传递变量)对用户来说总是很友好的:
- name: 部署代码库到构建代码库
hosts: localhost
roles:
- role: build
git_source_repository_path: [email protected]:andock/drupal-8-demo.git
build_path: ~/ansible
branch: "master"
hook_build_tasks: "hooks/build_tasks.yml"
处理 .gitignore
你可以在 .gitignore 文件中标记部分内容,使用 "BEGIN REMOVE ANDOCK" --- END REMOVE ANDOCK-CI。 andock 会在提交到目标代码库之前移除这些块。
# 示例 .gitignore 文件用于 drupal 8 composer 项目
.idea
#### BEGIN REMOVE ANDOCK-CI ###
docroot/core
docroot/modules/contrib
docroot/themes/contrib
docroot/profiles/contrib
vendor
#### END REMOVE ANDOCK-CI ###
构建钩子在 .ansible/hooks/build.yml 中
- name: composer install
command: fin rc -T composer install
args:
chdir: "{{ build_path }}"
许可证
GPL
作者信息
Christian Wiedemann (christian.wiedemann@key-tec.de)