基于ansible远程docker环境安装gogs 原创

cuiyingfeng
发布于 2022-5-22 20:52
浏览
0收藏

本文档主要介绍如何使用ansible在远程centos服务器docker环境快速安装gogs,目标服务器为一台阿里云ECS,安装操作系统为阿里云提供的公共镜像Centos7.9-64。且已经预装docker环境。

准备

硬件

基础环境

服务器类型 OS 公网IP 内网IP 备注
目标服务器 Centos7.9(阿里云自带的公共镜像) 123.23.12.21 10.0.1.121 阿里云ECS(root/root1234)
主控端 Centos7.9 10.0.1.123 本地LInux服务器

安装

指ssh到主控端,然后通过ansible将gogs容器在目标服务器上启动并运行。

安装python3

目标服务器安装的Centos7.9操作系统默认安装的python版本比较低,其实并不支持ansible的docker容器相关指令;这里我们需要先在目标服务器远程安装一个高版本的python,后续再通过指定python路径的方式去执行ansible脚本就可以成功操作docker容器了。

前面一个步骤中下载的脚本目前是把python3编译安装在/usr/soft/python3目录下,后续启动docker容器均需要指定ansible_python_interpreter为/usr/soft/python3。

另外要注意一下主控端的ansible版本号,本实践使用的ansible版本为2.9.27,如果ansible版本过低可能会导致基于本实践的安装python3失败。

[root@localhost ~]# git clone https://gitee.com/pi4k8s/ansible-exmaples.git
[root@localhost ~]# cd ansible-exmaples/aliyun-centos7.9/
[root@localhost aliyun-centos7.9]# 
# 修改该目录下的hosts文件,修改里面的服务器为自有服务器信息
[root@localhost aliyun-centos7.9]# ANSIBLE_HOST_KEY_CHECKING=false sh install-python.sh myhost

PLAY [myhost] ******************************************************************

TASK [Gathering Facts] *********************************************************
ok: [myhost]

TASK [python3 : install required packages] *************************************
changed: [myhost]

TASK [python3 : get python sources] ********************************************
changed: [myhost]

TASK [remove python3] **********************************************************
ok: [myhost]

TASK [remove python3-compile] **************************************************
ok: [myhost]

TASK [cp python3] **************************************************************
changed: [myhost]

TASK [compile python3] *********************************************************
changed: [myhost]

TASK [install python3] *********************************************************
changed: [myhost]

TASK [python3 : install pip docker-py] *****************************************
changed: [myhost]

PLAY RECAP *********************************************************************
myhost                     : ok=9    changed=6    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0   

验证

[root@localhost aliyun-centos7.9]# ansible -m shell -a '/usr/soft/python3/bin/python3 --version' -o -i hosts myhost
myhost | CHANGED | rc=0 | (stdout) Python 3.6.13

安装gogs-0.12

[root@localhost ~]# git clone https://gitee.com/cuiyingfeng/jenkins-ansible-examples.git
[root@localhost ~]# cd jenkins-ansible-examples/gogs
# 修改该目录下的hosts文件,修改里面的服务器为自有服务器信息
[root@localhost gogs]# ansible-playbook playbook/install-gogs.yaml -i hosts -e env_hosts=server1 -e GOGS_SSH_HOST=123.23.12.21 -e GOGS_HTTP_PORT=3000 -e GOGS_EXTERNAL_URL=http://123.23.12.21:3000/

验证

可以用浏览器直接访问 ${GOGS_EXTERNAL_URL}(本实践中的访问地址为http://123.23.12.21:3000/),显示如下
基于ansible远程docker环境安装gogs-鸿蒙开发者社区

本实践中的gogs容器启动后,已经内置了管理员用户gogs/gogs1234,可以直接登录。另外该gogs容器关闭了注册功能,可以gogs用户登录后自行增删用户。

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
分类
已于2022-6-18 22:00:31修改
2
收藏
回复
举报
回复
    相关推荐