部署到云主机(堡垒机)
# 主机未连接公网但有堡垒机的部署
通过堡垒机进行主机部署时,hosts中应该是堡垒机的ip,同时需要:
- sub-hosts:存放内网主机的ip
- sub-playbook.yml:同
可连接公网的主机部署
的playbooks.yml - 完整的文件结构如下(查看完整文件示例仓库 (opens new window)):
- oci_project ......项目根目录
- .coding-ci.yml ......ci配置文件
- hosts ......堡垒机分组配置
- playbook.yml ......堡垒机任务
- sub-hosts ......主机分组配置
- sub-playbook.yml ......主机任务
- hosts
# hosts
# 这里填写堡垒机分组名
[bastiongroup]
# 这里填写堡垒机ip
114.114.114.114
- sub-hosts
# sub-hosts
# 这里填写内网主机分组名
[hostgroup]
# 这里填写内网主机ip
10.x.x.x
192.x.x.x
- sub-playbook.yml
# sub-playbook.yml
- hosts:
- hostgroup
tasks:
# 复制工作空间下代码文件
- name: copy
copy:
# 源路径
src: /dir/to/
# 目标路径
dest: /dir/to/
# 启动app
- name: run app
# go run xxx;pyhton run.py;java xxx
shell: go run main.go
- playbook.yml
# playbook.yml
- hosts:
- bastiongroup
tasks:
# 复制工作空间下代码文件
- name: copy
copy:
# 源路径
src: ./
# 目标路径
dest: /dir/to/
# ansible初始化
- name: get ansible
# 如报错可使用:ansible.builtin.yum
ansible.builtin.dnf:
name: ansible
state: latest
# 主机部署
- name: start deploy
shell: ansible-playbook sub-playbook.yml -i sub-hosts
# 更多用法
← 部署到云主机(公网IP) 更新k8s镜像 →