This action will force synchronization from devops运维开发/gopub, which will overwrite any changes that you have made since you forked the repository, and can not be recovered!!!
Synchronous operation will process in the background and will refresh the page when finishing processing. Please be patient.
gopub(基于vue.js element框架+golang beego框架开发)是一个基于运维场景设计的企业级运维发布系统。配置简单、功能完善、界面流畅、开箱即用!支持git、jenkins版本管理,支持各种web代码发布,一键完成Golang,nodejs,PHP,Python,JAVA等代码的发布、回滚操作。
我们运维团队前期使用walle web部署系统进行发布操作,在此也感谢walle团队贡献的优秀开源项目.walle的web体验比较好,本次开源的gopub前台完全模仿walle前台,使用vue.js element框架重写.
gopub已持续运行近两年时间,在我们预发布和生产环境完成37000+次稳定部署,支持单项目100+台服务器部署110秒左右,支持2G+CDN静态资源发布传输30秒完成.
公网测试环境:http://140.143.85.18:8192/
#使用dockerhub镜像启动,连接外部数据库
sudo docker run --name gopub -e MYSQL_HOST=x.x.x.x -e MYSQL_PORT=3306 -e MYSQL_USER=root -e MYSQL_PASS=123456 -e MYSQL_DB=walle -p 8192:8192 --restart always -d lc13579443/gopub:latest
#使用dockerhub镜像启动,连接Docker数据库
sudo docker run --name gopub-mysql -h gopub-mysql -p 3306:3306 -v /data/gopub-mysql:/var/lib/mysql -v /etc/localtime:/etc/localtime -e MYSQL_ROOT_PASSWORD=123456 --restart always -d mysql:5.7.24 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
sudo docker run --name gopub --link gopub-mysql:gopub-mysql -e MYSQL_HOST=gopub-mysql -e MYSQL_PORT=3306 -e MYSQL_USER=root -e MYSQL_PASS=123456 -e MYSQL_DB=walle -p 8192:8192 --restart always -d lc13579443/gopub:latest
# 使用multi-stage(多阶段构建)需要docker 17.05+版本支持
sudo docker build --network=host -t gopub .
sudo docker run --name gopub -e MYSQL_HOST=x.x.x.x -e MYSQL_PORT=3306 -e MYSQL_USER=root -e MYSQL_PASS=123456 -e MYSQL_DB=walle -p 8192:8192 --restart always -d gopub:latest
# apiVersion: apps/v1需要kubernetes 1.9.0+版本支持
kubectl apply -f gopub-kubernetes.yml
# 克隆项目
git clone https://gitee.com/dev-ops/gopub.git
# 编译前端,npm较慢可使用cnpm
cd vue-gopub
npm install
npm run build
#修改配置 数据库配置文件在 src/conf/app.conf
#编译,control需要给可执行权限,并修改go安装目录 export GOROOT=/usr/local/go
./control build
#执行数据库初始化
./control init
#启动服务 启动成功后 可访问 127.0.0.1:8192 用户名:admin 密码:123456
./control start
#停止服务
./control stop
#重启服务
./control restart
#给control和src/gopub给可执行权限
#执行数据库初始化
./control init
#启动服务 启动成功后 可访问 127.0.0.1:8192 用户名:admin 密码:123456
./control start
#停止服务
./control stop
#重启服务
./control restart
#安装系统服务
cp ./gopub.service /usr/lib/systemd/system/gopub.service
systemctl enable gopub.service
systemctl restart gopub.service
前提条件:gopub运行用户(如root)ssh-key必须加入目标机器的{remote_user}用户ssh-key信任列表
#添加机器信任
su {local_user} && ssh-copy-id -i ~/.ssh/id_rsa.pub remote_user@remote_server
#need remote_user's password
#免密码登录需要远程机器权限满足以下三个条件:
/home/{remote_user} 755
~/.ssh 700
~/.ssh/authorized_keys 644 或 600
项目名称:xxx.example.com (项目命名一定要规范并唯一)
项目环境:现在只用到预发布环境和线上环境。
地址:支持gitlab,jenkins,file三种发布方式.
选用Git在地址栏里面填入git地址,https方式需在地址中加入账号密码,ssh方式需保证gopub所在服务器有代码拉取权限.我们一般在gitlab创建一个public用户,将gopub所在服务器key加入public用户deploy-keys设置,并将public用户授权可拉取所有gitlab项目.
选用jenkins需要录入jenkins对于的job地址和账号密码,
前面两个任务的执行是在管理机上,后面两个任务的执行是在目标机器上
Sign in for post a comment
Comments ( 0 )