拥抱开源——Jinkens+Gitlab构建自动版本上线发布

  企业项目开发和自己写程序区别之一可能就是上线发布,新老项目版本的更替同时做到用户产品的无缝连接也是行业追寻的一种标准,放大来说当你想玩游戏,打开客户端看到通知是几点——几点维护更新,还是心情不好的。

搭建Jenkins

  开源,免费的CI&CD,构建伟大,无所不能,官网下载
  下载后安装,支持windows,Linux以及IOS版本,以Linux为例,安装前提需要安装JDK,安装方式有很多,这里讲一种war包的安装方法,如图1,下载好tar包以后,上传到/usr/jenkins/目录下,网络允许的话也可以直接在该目录下wget。
在这里插入图片描述

图1 Jenkins官方下载
  然后是启动Jenkins,启动的时候有位高人帮忙写了段Shell,这里也无私奉献给大家,直接在/usr/jenkins目录下,新建个start-jenkins.sh文件,把如下Shell代码贴进去:

#!/bin/bash

# import sysconfig settings and set defaults
[ "${JENKINS_HOME}" == "" ] &&
    JENKINS_HOME=/usr/jenkins
[ "${JENKINS_LOG}" == "" ] &&
    JENKINS_LOG=/usr/jenkins/logs/jenkins.log    #设置存logs的地方,启动出错可以来查logs
[ "${JENKINS_JAVA}" == "" ] &&
    JENKINS_JAVA=/usr/bin/java    #安装好JDK后验证下此处/usr/bin/java的快捷方式链接,一般是安装好jdk后会自动生成
[ "${JENKINS_JAVAOPTS}" == "" ] &&
    JENKINS_JAVAOPTS=""
[ "${JENKINS_IP}" == "" ] &&
    JENKINS_IP=0.0.0.0
[ "${JENKINS_PORT}" == "" ] &&
    JENKINS_PORT=9090     #按自己的要求设置jenkins端口,不要和已存在的port重合即可
[ "${JENKINS_ARGS}" == "" ] &&
    JENKINS_ARGS=""

JENKINS_WAR=${JENKINS_HOME}/jenkins.war
export JENKINS_HOME=$JENKINS_HOME
# check for config errors
JENKINS_ERRORS=()
[ ! -f ${JENKINS_WAR} ] &&
    JENKINS_ERRORS[${#JENKINS_ERRORS[*]}]="JENKINS_HOME : The jenkins.war could not be found at ${JENKINS_HOME}/jenkins.war"
[ ! -f $JENKINS_JAVA ] &&
    JENKINS_ERRORS[${#JENKINS_ERRORS[*]}]="JENKINS_JAVA : The java executable could not be found at $JENKINS_JAVA"

# display errors if there are any, otherwise start the process
if [ ${#JENKINS_ERRORS[*]} != '0' ]
then
    echo "CONFIGURATION ERROR:"
    echo "    The following errors occurred when starting Jenkins."
    echo "    Please set the appropriate values at /etc/sysconfig/jenkins"
    echo ""
    for (( i=0; i<${#JENKINS_ERRORS[*]}; i++ ))
    do
        echo "${JENKINS_ERRORS[${i}]}"
    done
    echo ""
    exit 1
else
    echo "starting service"
    echo "nohup nice $JENKINS_JAVA $JENKINS_JAVAOPTS -jar $JENKINS_WAR --httpListenAddress=$JENKINS_IP --httpPort=$JENKINS_PORT > $JENKINS_LOG 2>&1 &"
    nohup nice $JENKINS_JAVA $JENKINS_JAVAOPTS -jar $JENKINS_WAR --httpListenAddress=$JENKINS_IP --httpPort=$JENKINS_PORT > $JENKINS_LOG 2>&1 &
fi


  可以利用一下代码查了下进程:

ps -ef|grep jenkins 

  如果不能正常启动,请查看logs下的jenkins.logs,看看是啥错误,正常启动后,在/usr/jenkins目录下会出现很多新的文件家和文件,具体如图2,其中有几个比较常用的folder:
1.logs:存放操作的日志
2.jobs:存放构建的jinkens jobs
3.plugins:存放jenkins上安装的插件,为啥需要安装插件,有了插件后许多功能系统能帮你完成,不需要自己写命令去实现,如安装了git相关的插件后使用git前会帮你自动git fetch,此外,针对有些比较保守的服务器不能联外网安装下载插件的,你可以在可联网的机器下载好对应的插件后,上传到此folder下,再重启下jenkins服务,也是可以的
4.secrets:存放者启动http的jenkins端口后第一次登录需要的初始密码
5.user:jenkins里面的所有用户信息

在这里插入图片描述

图2 首次成功启动Jenkins服务后生成的folders和files
  正常启动后,在可以访问:

    http://你安装了jenkins服务的IP:9090
会提示你密码在图2的secrets里面,登录进来的界面如图3所示,1处是对应的Jinkens操作lists,多把玩几次就熟了,2处是建立的Jinkens的items,3处是登录的用户名和注销,1处的Manage Jenkins管理Jenkins的信息,包括配置和插件凭据等管理。

在这里插入图片描述

图3 Jenkins主页

新建调度任务

  • 点击图1处的新建Item,跳转到图4处,选择Freestyle project,输入项目的名字,点击确定即可;

在这里插入图片描述

图4 新建Jinkens的item
  • 配置Freestyle project,具体如图5,描述写项目简介,源码管理选用Git,按需配置构建触发器和构建环境以及构建和构建后操作,以配置Git源码为例,讲述涉及的一些常用配置。
    在这里插入图片描述
图5 配置Freestyle project
1.源码管理——Git配置信息如图6

  关于如何配置gitlab,可参考博客拥抱开源——轻量级的代码版本控制神器Gitlab

Repository URL:写git储备库的URL,点进网页的Git项目内,有个Clone按钮,可获取;
Credentials:配置见图7,类型选择SSH Username with private key,Private Key选择Enter directly Key,把自己在git上使用的私钥,注意是私钥写道这里,点击添加即可,相了解git配置ssh key可参考git的使用教程和项目开发规范,如果私钥不准确,回到图4的时候会有红色字体报错权限不对;
Branches to build:写自己想要获取的分支;
源码库浏览器:选gitlab
URL:写对应的git储备库的URL
Version:在网页的git上有个help键,可以点进去看,如图8所示。

在这里插入图片描述

图6 源码管理选Git的配置

在这里插入图片描述

图7 源码管理选Git的Credentials配置

在这里插入图片描述

图8 源码管理选Git的Version配置
2.构建触发器 如图9,构建触发器: Build after other projects are built:填写依赖的项目 Build periodically:填写项目的调度时间,采用的是Poll SCM语法,*代表所有值, 第一个参数 minute,取值 0~59; 第二个参数 hour,取值 0~23; 第三个参数 day,取值 1~31; 第四个参数 month,取值 1~12; 最后一个参数 week,取值 0~7,0 / 7 都是星期日; 举例: H/20 * * * * 每20分钟 H(0-30)/20 * * * * 每小时的0到30分钟每20分钟 H 10-20/2 * * 1-5 每周1到周五(工作日)10点到20点每2小时执行 H H 1,15 1-11 * 1到11月1号和15号各执行一次 写完后下面会有提示你是否写对了。 Poll SCM:刷新workspace时间,这里配置的是git就是刷新git的时间。

在这里插入图片描述

图9 构建触发器
3.构建环境/构建/构建后操作

按需勾选构建环境,如图10,构建其实就是对应的需要跑的命令,如利用linux调用kettle包;构建后操作一般是错误后发邮件报警。

在这里插入图片描述

图10 配置构建环境,构建和构建后操作
构建完成后,点击应用和保存,在图3的2处就可以看到新建的项目,点击进去跳转到图11,其中“Build Now”可以使项目立即跑起来,修改构建配置点击“配置”按钮,“Build History”记录了每次项目跑的记录,蓝色为成功,红色为失败,可以点击序号跳转图12,查看具体某一次Build的历史记录明细,点击“日志”或者“控制台输出”即可查看明细日志

在这里插入图片描述
图11 项目的基本信息

在这里插入图片描述

图12 查看历史的具体某一次build
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

╭⌒若隐_RowYet——大数据

谢谢小哥哥,小姐姐的巨款

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值