• GitLab+Jenkins结合构建持续集成(CI)环境


    git版本控制的使用

    链接地址:https://www.cnblogs.com/Mercury-linux/p/12623343.html

    Jenkins和GitLab概述

    Jenkins概述:是一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,是软件的持续集成变成可能。

    Jenkins官方:https://jenkins.io/

    GitLab概述:是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开或者私人项目。Ruby on Rails 是一个可以使开发、部署、维护 web应用程序变得简单的框架。

    GitLab拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团体对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它提供一个代码收集功能可以轻松实现代码复用,便于日后需要的时候进行查找。

    GitLab官网:https://docs.gitlab.com/

    GitLab和GitHub的区别

    • 相同点:

    二者都是基于web的Git仓库,在很大程度上GitLab是仿照GitHub来做的,他们都提供了分享开源项目的平台,为开发团队提供了存储、分享、发布和合作开发项目的中心化云存储的场所。

    • 不同点:

    GitHub 如果要使用私有仓库,是需要付费的。 GitLab 可以在上面创建私人的免费仓库。

    GitLab 让开发团队对他们的代码拥有更多的控制,相比 GitHub,它有不少的特色:允许免费设置仓库权限;允许用户选择分享一个 project 的部分代码;允许用户设置 project 的获取权限,进一步的提升安全性;可以设置获取到团队整体的改进进度;通过 innersourceing 让不在范围内的人访问不到该资源。

    总结:从代码私有性方面来看,有时公司并不希望员工获取到全部代码,这时候GitLab无疑是最好的选择。但对于开源项目而言,GitHub依然是代码托管的首选。

    git相关概念:

    git 是一种版本控制系统,是一个命令,是一种工具

    gitlib 是用于实现git功能的开发库

    github 是一个基于git实现的在线代码托管仓库,包含一个网站页面,向互联网开放

    gitlab 是一个基于git实现的在线代码仓库托管软件,一般用于在企业内部网络搭建git私服

    注:gitlab-ce 社区版gitlab-ee 是企业版,收费

    持续集成系统的工作流程大概分为以下几步:

    1. 开发者将新版本 push到 Gitlab

    2. Gitlab 随后触发 Jenkins master 节点进行一次 build。(通过 web hook 或者定时检测)

    3. Jenkins master 结点将这个 build 人为分配给若干注册的 slave结点中的一个,这个 slave结点根据一个事先设置号的脚本进行 build。这个脚本可以做的事情很多,比如编译,测试、生成测试报告等等。这些原本需要手动完成的任务都可以交给Jenkins 来做。

    4. 我们在 build 中要进行编译,这里使用了分布式编译器 distcc 来加快编译速度。

    GitLab平台部署

    架构图:

    整体实验环境部署:

    主机名 公网ip 内存 服务
    lb01 10.0.0.5 2G 数据库、负载均衡、Jenkins上线
    web01 10.0.0.7 1G tomcat
    web02 10.0.0.8 1G tomcat
    es01 10.0.0.240 3G gitlab仓库


    GitLab搭建

    注:实验环境内存建4G大小,否则服务起不来

    我们的gitlab仓库rpm包去 清华源 下载

    #配置扩展源
    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    
    #安装gitlab和依赖包
    wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm
    yum localinstall gitlab-ce-12.3.5-ce.0.el7.x86_64.rpm -y
    • gitlab配置文件
    vim  /etc/gitlab/gitlab.rb
    #设置访问url和关闭prometheus
    external_url 'http://gitlab.oldqiang.com'
    #如果安装普罗米修斯全家桶需要4G内存
    prometheus_monitoring['enable'] = false
    #配置gitlab通过smtp发送邮件
    gitlab_rails['gitlab_email_enabled'] = true
    gitlab_rails['gitlab_email_from'] = '1354586675@qq.com'
    gitlab_rails['gitlab_email_display_name'] = 'china'
    gitlab_rails['smtp_enable'] = true
    gitlab_rails['smtp_address'] = "smtp.qq.com"
    gitlab_rails['smtp_port'] = 465
    gitlab_rails['smtp_user_name'] = "1354586675@qq.com"
    gitlab_rails['smtp_password'] = "xxxxxx"
    gitlab_rails['smtp_domain'] = "qq.com"
    gitlab_rails['smtp_authentication'] = "login"
    gitlab_rails['smtp_enable_starttls_auto'] = true
    gitlab_rails['smtp_tls'] = true
    
    #应用重新配好的配置并重启gitlab
    gitlab-ctl  reconfigure

    注:重新配置应用程序。修改gitlab服务配置文件后,都需要重启执行gitlab-ctl reconfigure命令。让各个服务的配置文件,重新加载一下配置文件

    登录gitlab:http://gitlab.class.com/

    GitLab汉化

    注:因为下载官方汉化包我们需要去国外,所以直接在码云上下载    gitlab汉化版本目前最高是12.5版本

    unzip AEIOUAEIOU-xhang_gitlab-v12.3.5-zh.zip 
    #查看当前汉化版本,如果gitlab版本太新部分不能汉化
    cat xhang_gitlab/VERSION 
    12.3.5
    
    
    gitlab-ctl stop
    cp -a xhang_gitlab/*  /opt/gitlab/embedded/service/gitlab-rails/
    #这里会有两个报错,因为这里两个软连接
    gitlab-ctl start
    
    netstat -lntup
    tcp        0      0 127.0.0.1:9229          0.0.0.0:*               LISTEN      10859/gitlab-workho 
    tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN      10916/unicorn maste 
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      10877/nginx: master 
    tcp        0      0 127.0.0.1:8082          0.0.0.0:*               LISTEN      10895/sidekiq 5.2.7 
    tcp        0      0 127.0.0.1:9236          0.0.0.0:*               LISTEN      10846/gitaly        
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6693/sshd           
    tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      7128/master         
    tcp        0      0 0.0.0.0:8060            0.0.0.0:*               LISTEN      10877/nginx: master

    注:这里需要等待!8080端口起不来会出现 502 报错

    主页面汉化完成:

    彻底汉化:

    gitlab-用户-用户组-项目之间的关系

    关系图:

    创建组

    创建项目

    根据配置推送代码项目,将项目推送到仓库

    #进行解析
    vim /etc/hosts
    10.0.0.88 class.com
    
    #准备目录和项目
    mkdir /opt/shop
    cd /opt/shop
    2000.png  21.js  icon.png  img  index.html  sound1.mp3
    
    #上传仓库
    git config --global user.name "Administrator"
    git config --global user.email "admin@example.com"
    git init
    git add .
    git commit -m "Initial commit"
    git remote add origin http://class.com/shop/shop.git
    git push -u origin master
    #输入用户名和密码

    推送结果:

    • ssh推送:
    #主机创建密钥
    ssh-keygen <--一路回车
    cat /root/.ssh/id_rsa.pub
    将内容添加到gitlab仓库的SSH密钥
    
    #配置仓库
    git init
    git remote add origin git@class.com:root/bbs.git
    git add .
    git commit -m "Initial commit"
    git push -u origin maste

    创建用户

    加入用户:

    GitLab备份与恢复

    #备份
    gitlab-rake gitlab:backup:create
    #这里有些敏感文件不会去备份,需要手动备份
    
    #删一个库在恢复
    gitlab-ctl stop unicorn
    gitlab-ctl stop sidekiq
    
    #注:执行下面一条命令会删除库中的表和数据
    #BACKUP内容:时间戳+时间+版本
    gitlab-rake gitlab:backup:restore BACKUP=1585361881_2020_03_28_12.3.5
    gitlab-ctl start unicorn
    gitlab-ctl start sidekiq
    
    
    vim /etc/gitlab/gitlab.rb
    gitlab_rails['manage_backup_path'] = true
    gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
    gitlab_rails['backup_keep_time'] = 604800
    
    gitlab-ctl reconfigure
    netstat -lntup
    
    #迁移云主机
    先备份,云主机安装相同版本,恢复

    GitLab版本升级

    注:gitlab升级,10-->11-->12 gitlab升级不能跨大版本,如果之前已经汉化,请选择可以汉化的版本进行升级,因为最新的版本不支持汉化会出现服务起不来

    #升级:
    wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.3.9-ce.0.el7.x86_64.rpm
    yum localinstall gitlab-ce-12.9.1-ce.0.el7.x86_64.rpm -y
    
    #gitlab会备份数据并重启
    ll /var/opt/gitlab/backups/
    -rw------- 1 git git 1781760 Mar 28 10:18 1585361881_2020_03_28_12.3.5_gitlab_backup.tar
    -rw------- 1 git git  133120 Mar 28 10:56 1585364188_2020_03_28_12.3.5_gitlab_backup.tar
    drwx------ 7 git git     131 Mar 28 10:30 tmp
    
    #查看当前gitlab版本:
    rpm -qa | grep gitlab
    gitlab-ce-12.9.1-ce.0.el7.x86_64
    #如果设置汉化不彻底可以在汉化一次

    注:这里gitlab需要启动一会出现8080端口在查看网页

    将svn中的数据迁移到git仓库

    推荐参考地址:http://john.albin.net/git/convert-subversion-to-git

    svn教程地址:https://www.runoob.com/svn/svn-intro.html

    安装svn客户端

    yum install subversion -y
    svn --version

    初始化仓库

    #手动新建版本库目录
    mkdir /svn/repo -p
    #创建版本库
    svnadmin create /svn/repo

    svn服务配置文件svnserver.conf,该文件仅由一个[general]配置段组成。

    cd /svn/repo/conf
    vim  svnserve.conf
    [general]
    anon-access = none
    auth-access = write
    password-db = passwd
    authz-db = authz
    realm = /svn/repo
    [sasl]
    • anon-access: “访客”,取值范围为:“write (可读可写)”、“read (只读)”和“none (无访问权限)”,默认指:read

    • auth-access: “用户”,取值范围为:“write (可读可写)”、“read (只读)”和“none (无访问权限)”,默认值:write

    • authz-db: 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。这里使用相对路径

    • realm: 指定版本库的认证域,即在等录时提示的认证域名称

    用户名口令文件passwd

    #用户名口令文件由svnserve.conf的配置项password-db指定,默认为conf目录中的passwd。由[users]配置段组成。
    vim passwd
    [users]
    admin = 123456   <-- 授权用的
    test = 123456    <-- 账户密码

    权限配置文件authz

    #由svnserve.conf的配置项authz-db指定,默认为conf目录中的authz。该配置文件由一个[groups]配置段和若干个版本库路径权限段组成。
    vim authz
    [/]
    admin = rw
    test = r

    注:[/],则表示所有库的根目录

    启动服务并进行转换

    svnserve -d -r /svn/repo
    
    #创建git仓库
    mkdir  /opt/git
    git svn clone svn://10.0.0.100 --username=admin --no-metadata --authors-file=/opt/git/password.txt /opt/git/
    
    
    cat password.txt
    admin=zhangsan<296917342@qq.com>
    • --no-metadata:默认情况下,git会在svn的提交信息里补充一些git的信息。这个标识是用来把这些信息去掉。

    • --authors-file:svn用户列表

    • /opt/class:新的git仓库。这个是拉取svn数据到本地的文件夹,它会在dest-dir上新建git仓库。

    搭建Jenkins实现持续集成

    代码上线流程:

    官方网站:https://jenkins.io/zh/

    安装jdk1.8

    jdk下载地址:https://www.oracle.com/java/technologies/javase-jdk8-downloads.html

    jdkrpm包网盘链接:https://pan.baidu.com/s/1zyFC-mTVqFPfFnTJQXaa4g 提取码:69eq

    yum localinstall jdk-8u102-linux-x64.rpm -y
    java -version

    安装Jenkins

    tomcat下载地址:https://tomcat.apache.org/download-80.cgi#8.5.53

    #安装tomcat
    mkdir /app
    wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.53/bin/apache-tomcat-8.5.53.tar.gz
    tar xf apache-tomcat-8.5.53.tar.gz -C /app/
    ln -s /app/apache-tomcat-8.5.53/ /app/tomcat
    cd /app/tomcat/webapps/
    rm -rf ROOT
    wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war-stable/latest/jenkins.war
    mv jenkins.war ROOT.war
    /app/tomcat/bin/startup.sh
    netstat -lntup | grep 8080

    注:这里Jenkins的信息都放在了root目录下的.Jenkins下。

    • 访问加速设置,插件安装将指向清华源

      注:只有页面插件安装才会出现updates这个目录。

    cd /root/.jenkins/updates/
    sed -i 's/http://updates.jenkins-ci.org/download/https://mirrors.tuna.tsinghua.edu.cn/jenkins/g' default.json && sed -i 's/http://www.google.com/https://www.baidu.com/g' default.json
    #重启tomcat

    这里需要等待很长时间,如果迟迟不出现界面建议将下面的包之间解压在/root下面

    Jenkins目录地址:https://pan.baidu.com/s/1P5bfqOUx8ZDjjkLHsYpo3A 提取码:34xy

    rm -rf /root/.jenkins
    tar xf jenkins-data.tar.gz -C /root/
    
    #登录:
    admin
    123456

    创建一个job

    概述:一个项目,创建一个job,一个job就是一个自动化上线的流程(拉取-html-打包-scp-tar)

    构建job:

    通用 源码管理 构建触发器 构建环境 构建 构建后操作
    关闭job 对接代码仓库 gitlab代码仓库 构建前准备操作 shell脚本 构建后操作通知

    构建任务:

    Jenkins自动拉取gitlab代码

    前提:gitlab仓库有代码可以拉取还有主机与域名解析在hosts文件做好

    用户和密码添加:

    密钥添加:

    cat /root/.ssh/id_rsa
    #内容添加到凭证

    使用脚本实现html自动化上线

    环境准备

    #Jenkins主机创建并分发密钥实现免输入传输
    ssh-keygen
    ssh-copy-id root@10.0.0.7
    ssh-copy-id root@10.0.0.8
    #负载均衡主机配置文件
    vim /etc/nginx/nginx.conf
    worker_processes  1;
    events {
        worker_connections  1024;
    }
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
        upstream java {
            server 10.0.0.7:80;
            server 10.0.0.8:80;
        }
        server {
            listen       80;
            server_name  zrlog.oldedu.com;
            root   html;
            index  index.html index.htm;
            location / {
                proxy_pass http://java;
                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            }
      }
    }
    
    #网站主机07,08
    yum install nginx -y
    systemctl start nginx
    systemctl enable nginx
    
    #删除默认网页修改首页文件
    rm -rf /usr/share/nginx/html/*
    echo "web01" > index.html
    echo "web02" > index.html
    #刷新查看
    • 脚本思路
    #Jenkins主机将源码压缩到
    mkdir /data    <--压缩文件目录
    cd /root/.jenkins/workspace/shop
    tar zcf /opt/data/shop.tar.gz *
    scp  -rp /opt/data/shop.tar.gz 10.0.0.8:/opt/data/
    
    #网站主机
    mkdir /jenkins_data      <--存放压缩包目录
    mkdir /code/shop  -p     <--网站代码目录
    chmod 755 -R /code/
    /usr/share/nginx/html  <--nginx默认网站目录,code目录软链接地址
    #解压
    tar xf /opt/data/shop.tar.gz -C  /code/shop
    rm -rf /usr/share/nginx/html
    ln -s /code/shop /usr/share/nginx/html  <--代码更新方式目录直接软连接
    ll /usr/share/nginx   <--查看软链接情况
    • 脚本

    mkdir /server/scripts -p
    vim auto_code_update_html.sh
    #!/bin/bash
    #执行脚本默在这个目录下
    # cd  /root/.jenkins/workspace/shops/shop
    
    project=$1
    tag=$2
    #mkdir /data
    tar zcf /data/${project}-${tag}.tar.gz *
    IP="10.0.0.7 10.0.0.8"
    #web主机操作
    for n in `echo $IP`
    do
    #mkdir /data
    scp -rp /data/${project}-${tag}.tar.gz root@${n}:/data
    ssh root@$n "  mkdir -p /code/${project}-${tag} && 
    tar xf /data/${project}-${tag}.tar.gz -C /code/${project}-${tag} && 
    rm -rf /usr/share/nginx/html && 
    chmod 755 -R /code/ && 
    ln -s /code/${project}-${tag} /usr/share/nginx/html"
    done
    
    #执行脚本测试
    sh -x /server/scripts/auto_code_update_html.sh
    • Jenkins构建

    版本回退操作

    脚本

    vim /server/scripts/auto_code_undo_html.sh
    #!/bin/bash
    
    # cd  /root/.jenkins/workspace/shops/shop
    project=$1
    tag=$2
    IP="10.0.0.7 10.0.0.8"
    for n in `echo $IP`
    do
    ssh root@$n "rm -rf /usr/share/nginx/html && 
    ln -s /code/${project}-${tag} /usr/share/nginx/html"
    done
    • 添加文本参数,选择版本号
    • 构建时执行的shell
    • 构建

    注:这里如果项回退版本,之前的版本目录都必须要有

    使用gitlab自动触发Jenkins构建

    安装gitlab插件

      插件名称:gitlab

    修改job的配置

    修改gitlab配置

    网络配置:

    配置集成:

    修改文件:

    查看结果:

    使用码云实现java代码上线

    实验步骤:

    • 搭建java环境
    rpm -ivh jdk-8u102-linux-x64.rpm
    mkdir /app
    wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.53/bin/apache-tomcat-8.5.53.tar.gz
    tar xf apache-tomcat-8.5.53.tar.gz -C /app/
    ln -s /app/apache-tomcat-8.5.53/ /app/tomcat
    /app/tomcat/bin/startup.sh 
    • maven环境

      maven下载地址:https://maven.apache.org/download.cgi

    wget https://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
    tar xf apache-maven-3.6.3-bin.tar.gz -C /usr/local
    ll /usr/local/apache-maven-3.6.3/
    ln -s /usr/local/apache-maven-3.6.3/ /usr/local/maven
    ll /usr/local/maven/
    vim /etc/profile
    #文件结尾添加两行
    export M2_HOME=/usr/local/maven
    export PATH=${M2_HOME}/bin:$PATH
    
    source /etc/profile
    mvn -v
    
    #更新源为阿里源
    vim  /usr/local/maven/conf/settings.xml
    #将所有内容复制到<mirrors>之间
    <mirror> 
        <id>nexus-aliyun</id>  
        <mirrorOf>central</mirrorOf>    
        <name>Nexus aliyun</name>  
        <url>http://maven.aliyun.com/nexus/content/groups/public</url>  
    </mirror>
    • 创建码云仓库并将java代码上传上去
    mkdir /opt/java_git
    tar xf SpringBootWeb.tar.gz -C /opt/java_git
    cd /opt/java_git
    <--将需要上传的源码放在这里-->
    
    #创建码云仓库并将信息信息和地址写在目录
    git config --global user.name "weijixiang"
    git config --global user.email "1354586675@qq.com"
    git init
    git add .
    git commit -m "first commit"
    git remote add origin git@gitee.com:weijixiang_god/java.git
    git push -u origin master

    注:这里主机的ssh要在码云上的ssh公钥配置好,后去拉取不用输入密码,码云打上标签

    • jenkins安装maven插件

    Jenkins创建一个java业务的job

    配置maven

    构建过程

    正在构建

    使用脚本实现部署

    • 准备
    #编译文件地址
    /root/.jenkins/workspace/springBoot/target/SpringBootWeb.war
    
    #tomcat配置文件允许使用软连接
    vim /app/tomcat/conf/context.xml
    <Context>
        <Resources allowLinking="true" />
    </Context>
    #重启
    • 测试脚本

    注:此脚本为了验证是否可行,结合Jenkins需要修改参数

    vim  auto_code_update_java.sh
    #!/bin/bash
    
    #project=$1
    tag=v1.0
    packname="SpringBootWeb"
    dir="/root/.jenkins/workspace/springBoot/target/SpringBootWeb.war"
    IP="10.0.0.7 10.0.0.8"
    for n in `echo $IP`
    do
    scp -rp $dir root@${n}:/data
    ssh root@$n "mkdir -p /code/$packname-$tag && 
    unzip -d /code/$packname-$tag /data/${packname}.war && 
    rm -rf /app/tomcat/webapps/class && 
    ln -s /code/$packname-$tag /app/tomcat/webapps/class && 
    /app/tomcat/bin/shutdown.sh && 
    /app/tomcat/bin/startup.sh"
    done

    Jenkins完成Java项目代码上线

    • 脚本
    vim /server/scripts/auto_code_update_java.sh 
    #!/bin/bash
    
    project=$1
    tag=$2
    dir=$(find `pwd` -name "*.war")
    IP="10.0.0.7 10.0.0.8"
    for n in `echo $IP`
    do
    scp -rp $dir root@${n}:/data/${project}.war-$tag
    ssh root@$n "mkdir -p /code/$project-$tag && 
    unzip -d /code/$project-$tag /data/${project}.war-$tag && 
    rm -rf /app/tomcat/webapps/${project} && 
    ln -s /code/$project-$tag /app/tomcat/webapps/${project} && 
    /app/tomcat/bin/shutdown.sh && 
    /app/tomcat/bin/startup.sh"
    done

    项目构建

    1. 码云上更新源码,添加版本标签

    2. Jenkins的job添加执行shell

    3. 立即构建

    4. 查看效果

    使用Jenkins完成Java项目的回滚

    • 回滚脚本
    vim /server/scripts/auto_code_undo_java.sh 
    #!/bin/bash
    
    project=$1
    tag=$2
    IP="10.0.0.7 10.0.0.8"
    for n in `echo $IP`
    do
    ssh root@$n "rm -rf /app/tomcat/webapps/${project} && 
    ln -s /code/$project-$tag /app/tomcat/webapps/${project} && 
    /app/tomcat/bin/shutdown.sh && 
    /app/tomcat/bin/startup.sh"
    done
    • 创建一个回滚job

    添加文本参数:

    选择版本进行构建:

    构建结果:

    使用Jenkins完成jeesns项目代码上线

    软件包地址:https://pan.baidu.com/s/1294itvj22Vb0044oIjZH1Q 提取码:19nn

    项目思路:

    1. 创建项目仓库

    2. 解压文件并将源码推到码云指定仓库

    3. 编写自动部署脚本,并进行验证

    4. Jenkins创建job添加git仓库地址,shell执行脚本

    5. 验证

    项目配置数据库

    #创建数据库,创建用户和权限
    create database jeesns;
    grant all on jeesns.* to 'jeesns'@'10.0.0.%' identified by '123456';
    
    #导入项目sql文件
    cd /opt/jeesns/jeesns-web/database
    mysql -ujeesns -p123456 -h 10.0.0.5 jeesns <jeesns.sql 
    
    #修改数据库连接地址
    vim /opt/jeesns/jeesns-web/src/main/resources/jeesns.properties
    地址:10.0.0.5
    jdbc.user=jeesns
    jdbc.password=123456
    #这里修改完了文件需要重新git仓库一下在上传到码云
    
    #编译测试
    mvn clean package

    创建项目仓库

    创建git仓库push代码

    unzip -d /opt/jeesns.zip
    cd /opt/jeesns
    <--将需要上传的源码放在这里-->
    
    #创建码云仓库并将信息信息和地址写在目录
    git config --global user.name "weijixiang"
    git config --global user.email "1354586675@qq.com"
    git init
    git add .
    git commit -m "first commit"
    git remote add origin git@gitee.com:weijixiang_god/jeesns.git
    git push -u origin master

    Jenkins创建job

    添加一个项目

    添加git仓库地址:

    编译项目时清空缓存编译:

    执行脚本:

    构建项目

    注:这里访问的是ip地址:8080/项目地址,如果想直接访问就把链接到的地址改为tomcat下的ROOT

  • 相关阅读:
    Wix 安装部署教程(七) 获取管理员权限
    【异常处理_iis】无法启动IIS Expressiisexpress.exe
    记一次Url重写_发布之后iis 404
    $.ajax 跨域请求 Web Api
    转手项目二三事
    【吉光片羽】之 Web API
    Failed to execute goal org.mortbay.jetty:maven-jetty-plugin
    eclipse解决editor does not contain a main type的方法
    linux 网卡eth0检测时没有IP地址,怎么回事??
    div+css 和 xhtml+css是一回事么?
  • 原文地址:https://www.cnblogs.com/Mercury-linux/p/12623779.html
Copyright © 2020-2023  润新知