pipeline job实现
nginx+mysql+PHP+wordpress自动化部署交付
- 三剑客平台初始环境构建
- 编写ansible-playbook脚本实现wordpress远程部署
- 将wordpress源码与playbook部署脚本提交到gitlab仓库
- 本地编写pipeline job脚本实现Jenkins流水线持续交付流程
- Jenkins集成ansible与gitlab实现wordpress的自动化部署
su - deploy
source /home/deploy/.py3-a2.5-env/bin/activate
source /home/deploy/.py3-a2.5-env/ansible/hacking/env-setup -q
ansible-playbook --version
ssh root@test.example.com
cp -a nginx_playbook-repo wordpress_playbooks
git --global http.sslVerify false
cd wordpress_playbooks/
[root@jenkins wordpress_playbooks]
总用量 4
-rw-r--r-- 1 root root 0 11月 3 23:47 deploy.retry
-rw-r--r-- 1 root root 76 11月 3 23:47 deploy.yml
drwxr-xr-x 2 root root 27 11月 3 23:47 inventory
drwxr-xr-x 3 root root 18 11月 3 23:47 roles
vim deploy.yml
hosts: "wordpress"
gather_facts: true
remount_user: root
roles:
- wordpress
[root@jenkins wordpress_playbooks]
[root@jenkins inventory]
总用量 8
-rw-r--r-- 1 root root 136 11月 3 23:47 dev
-rw-r--r-- 1 root root 136 11月 3 23:47 prod
[root@jenkins inventory]
[wordpress]
test.example.com
[wordpress:vars]
server_name=test.example.com
port=80
user=deploy
worker_processes=4
max_open_file=65505
root=/data/www
[root@jenkins inventory]
cp:是否覆盖"prod"? y
[wordpress]
test.example.com
[wordpress:vars]
server_name=test.example.com
port=80
user=deploy
worker_processes=4
max_open_file=65505
root=/data/www
gitlab_user='root'
gitlab_pass='12345678'
[root@jenkins inventory]
cp:是否覆盖"dev"? y
区分dev和prod:
[root@jenkins inventory]
[wordpress]
test.example.com
[wordpress:vars