GoCD(一)安装和简单使用

简单介绍

免费和开源的持续集成和持续交付系统(CI/CD )
云原生部署
端到端可视化,无需插件,开箱即用,
    GoCD’s value stream map视图显示您的整个生产路径。轻松浏览作业、发现效率低下的地方并优化您的流程  
可扩展的插件架构与许多流行的外部工具和服务集成
弹性代理
web可视化,完善的web功能,完善的安全管理
丰富的api
论坛:https://groups.google.com/g/go-cd

下载安装

服务器:CentOS Linux release 7.4.1708 (Core) 
下载 安装:
https://www.gocd.org/download/#redhat
server	https://download.gocd.org/binaries/21.2.0-12498/rpm/go-server-21.2.0-12498.noarch.rpm
agent	https://download.gocd.org/binaries/21.2.0-12498/rpm/go-agent-21.2.0-12498.noarch.rpm
yum localinstall go-server-21.2.0-12498.noarch.rpm
yum localinstall go-agent-21.2.0-12498.noarch.rpm
#docker yum install sysvinit-tools
已配置开机启动
Created symlink from /etc/systemd/system/multi-user.target.wants/go-server.service to /etc/systemd/system/go-server.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/go-agent.service to /etc/systemd/system/go-agent.service.

ln -s /usr/share/go-server /opt/app/
ln -s /usr/share/go-agent /opt/app/
server配置文件
/var/lib/go-server/db			GoCD 【wrapper.working.dir】服务器数据库
/var/lib/go-server/artifacts	GoCD 【wrapper.working.dir】服务器工件
/var/lib/go-server/plugins		GoCD 【wrapper.working.dir】服务器插件
/etc/go							GoCD 服务器配置
/var/log/go-server				GoCD 服务器日志文件
/usr/share/go-server			GoCD 服务器二进制文件和启动脚本
/usr/share/go-server/wrapper-config/wrapper-properties.conf	#用户可以在编辑文件时覆盖默认启动参数

agent配置文件
/var/lib/go-agent	GoCD 代理配置和工作目录
/var/log/go-agent	GoCD 代理日志文件
/usr/share/go-agent	GoCD 代理二进制文件和启动脚本
/usr/share/go-agent/wrapper-config/wrapper-properties.conf	#更改 GoCD 代理属性的配置文件
支持的数据库数据库

H2 是一个用 Java 开发的嵌入式数据库。https://www.cnblogs.com/cnjavahome/p/8995650.html
	GoCD 安装程序附带 H2 数据库,无需外部配置即可将 GoCD 与 H2 数据库一起使用。

mysql  GoCD 需要支持不区分大小写的标识符:https://docs.gocd.org/current/installation/configuring_database/mysql.html
    
选择postgreSQL
需要安装 postgresql-client 和 postgresql-contrib 包。postgresql-contrib 包包含初始模式创建所必需的 citext 和 pgcrypto 模块。
https://docs.gocd.org/current/installation/configuring_database/postgres.html
配置server
给work目录创建连接 
wrapper.working.dir=/var/lib/go-server
[root@tserver121 wrapper-config]# mkdir /data/gocd
[root@tserver121 wrapper-config]# mv /var/lib/go-server /data/gocd
[root@tserver121 wrapper-config]# ln -s /data/gocd/go-server /var/lib/

日志程序有清理 可以保持默认
wrapper.conf:wrapper.java.additional.7=-Dgocd.server.log.dir=/var/log/go-server
wrapper.conf:wrapper.logfile=/var/log/go-server/go-server-wrapper.log

    
ln -s  /var/log/go-server /data/logs/go-server #可以不做,用户习惯,习惯在/data/logs下找程序日志
ln -s /usr/share/go-server /opt/app/ 		   #可以不做,用户习惯,
端口自定义,添加
wrapper.java.additional.10=-Dcruise.server.port=8153   

原代码
    public int getServerPort() {
        return Integer.parseInt(getPropertyImpl(CRUISE_SERVER_PORT, "8153"));
    }
错误1
wrapper.working.dir 配置修改后会报
#wrapper  | ERROR: Could not write pid file /var/lib/go-server/run/go-server.pid: No such file or director
配置agent
给work目录创建连接 
[root@tserver121 wrapper-config]# mkdir -p /data/gocd
[root@tserver121 wrapper-config]# mv /var/lib/go-agent /data/gocd
[root@tserver121 wrapper-config]# ln -s /data/gocd/go-agent /var/lib/ 
ln -s  /var/log/go-agent /data/logs/
ln -s /usr/share/go-agent /opt/app/

#配置 GoCD 代理 /opt/app/go-agent/wrapper-config/wrapper-properties.conf 
wrapper.app.parameter.100=-serverUrl
wrapper.app.parameter.101=http://10.3.247.121:8153/go 
错误2
2021-08-23 10:33:51,146 ERROR [scheduler-2] RemotingClient:166 - Server responded to action `ping` with: status[403 Forbidden], body[]
2021-08-23 10:33:51,147 ERROR [scheduler-2] AgentHTTPClientController:114 - Error occurred when agent tried to ping server: 
java.lang.RuntimeException: org.apache.http.client.ClientProtocolException: The server returned status code 403. Possible reasons include:
解决:https://docs.gocd.org/21.2.0/installation/configure-reverse-proxy.html       
    
错误3
2021-08-23 14:21:25,375 - WARNING: An illegal reflective access operation has occurred
2021-08-23 14:21:25,376 - WARNING: Illegal reflective access by org.apache.felix.framework.ext.ClassPathExtenderFactory$DefaultClassLoaderExtender (onejar:lib/org.apache.felix.framework-5.6.10.jar) to method java.net.URLClassLoader.addURL(java.net.URL)
2021-08-23 14:21:25,376 - WARNING: Please consider reporting this to the maintainers of org.apache.felix.framework.ext.ClassPathExtenderFactory$DefaultClassLoaderExtender
2021-08-23 14:21:25,376 - WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
2021-08-23 14:21:25,376 - WARNING: All illegal access operations will be denied in a future release
# java版本不对,与本地java版本有关系
启动命令
/usr/share/go-server/bin/go-server console  #前台启动  service 命令不支持前端启动
service go-server start		#后台启动
service go-server stop		#停止
service go-server restart	#重启
(start, stop, restart, try-restart, reload, force-reload, status)

service go-agent  console	#前台启动
service go-agent  start		#后台启动
service go-agent  stop		#停止
service go-agent  restart	#重启
端口
server  8153
agent 8154

查看端口连接
[root@tserver121 wrapper-config]# netstat -nlpta|grep 815
tcp        0      0 127.0.0.1:8152          0.0.0.0:*               LISTEN      9696/java           
tcp        0      0 0.0.0.0:8153            0.0.0.0:*               LISTEN      9237/java           
tcp        0      0 10.3.247.121:8153       10.3.247.121:31171      ESTABLISHED 9237/java           
tcp        1      0 10.3.247.121:31169      10.3.247.121:8153       CLOSE_WAIT  9696/java           
tcp        0      0 10.3.247.121:31171      10.3.247.121:8153       ESTABLISHED 9696/java
页面注册agent
出于安全原因,所有新安装的 GoCD 代理都需要在 GoCD 服务器上启用,然后才能将工作分配给它们。这可以防止未经授权的人访问您的源代码。
要启用新安装的 GoCD 代理,请执行以下操作:
1.打开 GoCD 服务器仪表板
2.agents 找到新添加的agent并启动。GoCD 服务器现在将为此代理安排工作。

 使用

添加 Admin -> Pipelines 
 Part 1: Material
    浅克隆(推荐用于大型存储库)
    仅在 webhook 或手动触发器上获取对此存储库的更新
 Part 2: Pipeline Name
    可以定义一下项目变量
    webroot  /export/www/yunwei
 Part 3: Stage Details
 	阶段名称  是否自动
 Part 4: Job and Tasks
 	添加任务,如果多个任务 ,需要后面追加
 #创建完成可以复制
Admin -> Server Maintenance Mode 
当进入维护模式时,重新启动或升级 GoCD 服务器是安全的,而无需在服务器备份时重新安排任何正在运行的作业
启用 GoCD 服务器维护模式将:
    停止材质子系统,以便不轮询新材质。
    停止轮询配置存储库。
    停止调度子系统,以便不会触发新的管道(自动或通过计时器)。
    停止代理子系统,以便任何代理在空闲时都无法接手工作。
    防止用户触发管道。
    防止用户修改配置。
    防止用户执行修改数据库或文件系统状态的操作。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值