Go基本概念(1)

1.Go 的安装
1.1需要提前安装JDK
1.2安装Go server
ubuntu系统:
预先下载好.deb安装包
dpkg -i go-server-${version}.deb
 服务状态查看,启动,停止
sudo /etc/init.d/go-server status
sudo /etc/init.d/go-server start
sudo /etc/init.d/go-server stop

Redhat安装:
预先下载好rpm包
rpm -i go-server-${version}.noarch.rpm
服务状态查看,启动,停止
相关安装文件:
/var/lib/go-server  二进制文件,数据库文件
/etc/go     pipeline配置文件
/var/log/go-server  logs文件
/usr/share/go-server   启动脚本
/etc/default/go-server  环境变量
访问Go server:
http://< server host name >:8153/go

1.3 Go agent的安装类似server
Ubuntu系统:
agent安装好以后需要在/etc/default/go-agent中修改server的IP
然后启动agent: 
/etc/init.d/go-agent start

1.4在server中注册agent
当agent出现在server的agent list中以后,需要enable以后才能使用


Tips:Go支持免安装使用
安装JDK
在go官网下载zip包,windows下直接运行 start-server.bat ,在linux环境下执行 server.sh

2. Go 的升级
升级之前,需要先备份



3.用户管理
基于apache的file password验证:
3.1创建用户
cd /etc/go
htpasswd -c -s passwd user
该命令会在当前目录下创建passwd文件

在go的admin界面添加passwd file path:
/etc/go/passwd

3.2在go的admin界面中server configuration选项,配置passwd文件路径。
生成的xml路径: /etc/go/cruise-config.xml

4.基本概念
4.1. Agent 生命周期
Go server会根据job的需求,找到resource匹配的agent。
Agent在自己的目录下创建沙盒目录,执行job过程中所有materials都会存到这个沙盒目录下面。
举例说明:
  <pipeline name="my-product">
            <materials>
              <svn  url="http://my-svn-server/tools" dest="tools"/>
              <svn  url="http://my-svn-server/my-project" dest="my-project"/>
            </materials>
            <stage name="compile">
              <job name="linux">
                <environmentvariables>
                  <variable name="FOO">
                     <value>bar</value>
                  </variable>
                </environmentvariables>
                <resources>
                  <resource>linux</resource>
                </resources>
                <tasks>
                  <exec command="/usr/bin/make" args="-f Makefile" workingdir="tools/my-tool"/>
                  <ant target="unit-test" workingdir="my-project"/>
                </tasks>
                <artifacts>
                  <artifact src="my-project/target/deployable.jar" dest="pkg"/>
                </artifacts>
              </job>
            </stage>
          </pipeline>
   
   
  • 在agent上创建目录[install-dir]/pipelines/my-product
  • svn material "http://my-svn-server/tools"上checkout代码并存到"[install-dir]/pipelines/my-product/tools"中
  • svn material "http://my-svn-server/my-project" 下载到 "[install-dir]/pipelines/my-product/my-project"
  • 在"[install-dir]/pipelines/my-product/tools/my-tool"下执行命令"/usr/bin/make"
  • 在"[install-dir]/pipelines/my-product/tools/my-project"目录下执行ant
  • 将"[install-dir]/pipelines/my-product/my-project/target/deployable.jar" 发布到server上

4.2. Pipelines
Pipelines能够将复杂的build任务拆分成一系列简单的stages,以实现快捷反馈,详细的可行验证,持续集成
Job是最小工作单元,它由一系列小的build任务组成,可以在符合需求的agent上执行。
Stage由一组可以并发执行的jobs组成,只有stage里面所有job都完成,stages任务才算成功。
Pipeline由一系列stages按照配置文件指定的特定顺序组合起来。Pipeline可以手动启动,也可以根据某些条件,例如版本更新来触发。 默认情况下,一个stage完成,自动触发下一个stage。我们也可以指定approval,然后手动执行。
 
  
Pipeline Groups:
为了方便根据访问权限,用途将pipelines划分进不同的group,便于管理
Pipelines dependencies:
Pipeline的依赖性在pipeline配置时设置,可以依赖scm或者其他peipelines

4.3.Deployment和environments
软件开发环境通常可以划分为开发,测试,集成,生产环境。
而测试也可以根据需求,分为scale测试环境,regression环境,single machine环境,cluster环境,performance环境等
我们可以用软件部署到不同环境,以实现不同的软件环境需求。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、MATLAB、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。【项目资源
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值