侧边栏壁纸
博主头像
fastjrun博主等级

前大厂工程师,长期从事 Java 开发,架构设计,容器化等相关工作,精通java,熟练使用maven、jenkins等devops相关工具链,擅长容器化方案规划、设计和落地。

  • 累计撰写 70 篇文章
  • 累计创建 47 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

基于ansible远程docker环境安装gogs

fastjrun
2022-05-22 / 0 评论 / 0 点赞 / 489 阅读 / 791 字 / 正在检测是否收录...

本文档主要介绍如何使用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/),显示如下
image-1698299554374

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

0

评论区