CentOS7安装Jenkins

740 阅读3分钟

1 准备工作

1.1 安装docker

1、使用 sudo 或 root 权限登录 Centos。

2、确保 yum 包更新到最新。

sudo yum update

3、安装一些必要的系统工具:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

4、添加软件源信息(设置稳定的存储库信息):

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

5、更新 yum 缓存:

sudo yum makecache fast

6、安装 Docker-ce:

sudo yum -y install docker-ce

7、启动 Docker 后台服务

sudo systemctl start docker

1.2 yum安装jdk8

1、查看yum源中是否有相关套件

yum -y list java*

https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2019/8/31/16ce699bb111cf30~tplv-t2oaga2asx-image.image

2、这里我们选择java-1.8.0-openjdk-devel.x86_64

yum -y install java-1.8.0-openjdk-devel.x86_64

3、修改 /etc/profile

在文件最后输入

# JAVA
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export JRE_HOME
export PATH
export CLASSPATH

https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2019/8/31/16ce699bad8c5455~tplv-t2oaga2asx-image.image

图中圆圈目录可能不一致,具体请看电脑安装目录

4、更新环境变量

source /etc/profile

2 安装Jenkins

2.1 Docker安装

docker run \
  -u root \
  --name jenkins \
  -d \
  -p 8080:8080 \
  -p 50000:50000 \
  -v /var/jenkins-data:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkinsci/blueocean
  • -d表示在后台运行容器(即“分离”模式)并输出容器ID
  • -v /var/jenkins-data:/var/jenkins_home 表示映射容器中的/var/jenkins_home 目录到/var/jenkins-data 的volume,这样,我们就可以不用进入docker容器里面查看jenkins_home目录,直接在本机/var/jenkins-data查看该目录下的文件即可
  • --name jenkins将容器命名jenkins,方便后面操作容器

启动完成后面请看-> 第三步操作 安装向导

2.2 其他操作

访问Jenkins / Blue Ocean Docker容器

docker exec -it jenkins bash

这里的jenkins就是上面--name jenkins的设置命名

通过Docker日志访问Jenkins控制台日志

docker logs <docker-container-name>

3 安装向导

3.1 解锁 Jenkins

浏览 http://服务器ip:8080

https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2019/8/31/16ce699bb10b852b~tplv-t2oaga2asx-image.image

然后到命令窗口打印出log信息并复制密码

docker logs jenkins

https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2019/8/31/16ce699bb03db1ad~tplv-t2oaga2asx-image.image

解锁Jenkins 页面, 粘贴该密码到 **管理员密码****输入框并点击 继续

3.2 安装插件

https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2019/8/31/16ce699bb87e2eba~tplv-t2oaga2asx-image.image

https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2019/8/31/16ce699baebeba0d~tplv-t2oaga2asx-image.image

https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2019/8/31/16ce699bd73c3996~tplv-t2oaga2asx-image.image

https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2019/8/31/16ce699be27fb417~tplv-t2oaga2asx-image.image

4 Coding新建个node项目

https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2019/8/31/16ce699bd94e08fd~tplv-t2oaga2asx-image.image
https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2019/8/31/16ce699be4abec6c~tplv-t2oaga2asx-image.image

Jenkinsfile

pipeline {
    agent {
        docker {
            image 'node:10-alpine' 
            args '-p 3000:3000' 
        }
    }
    stages {
        stage('yarn') { 
            steps {
                sh 'npm i -g yarn' 
            }
        }
        stage('taro') { 
            steps {
                sh 'yarn global add @tarojs/cli@1.3.14' 
            }
        }
        stage('install') { 
            steps {
                sh 'yarn' 
            }
        }
        stage('build') { 
            steps {
                sh 'npm run build:h5' 
            }
        }
    }
}

5 在Jenkins中创建流水线项目

https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2019/8/31/16ce699bea2b112f~tplv-t2oaga2asx-image.image

https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2019/8/31/16ce699befa542c0~tplv-t2oaga2asx-image.image

https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2019/8/31/16ce699bfda0425c~tplv-t2oaga2asx-image.image

轮询SCM:只要SVN或Git中数据有更新,则执行构建任务

构建语法说明:

  1. 首先格式为:* * * * *(五个星);
  2. 第一个*表示分钟,取值0~59
    第二个*表示小时,取值0~23
    第三个*表示一个月的第几天,取值1~31
    第四个*表示第几月,取值1~12
    第五个*表示一周中的第几天,取值0~7,其中07代表的都是周日

流水线选项

https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2019/8/31/16ce699c09475937~tplv-t2oaga2asx-image.image

  1. 定义,选择 Pipeline script from SCM 选项。此选项指示Jenkins从源代码管理(SCM)仓库获取你的流水线, 这里的仓库就是你clone到本地的Git仓库

  2. SCM 域中,选择 Git

  3. Repository URL 域中,填写你本地仓库的 目录路径

  4. 增加一个全局凭证

    全局凭证这里你可以通过密码登录,也可以通过ssh登录,这里我选择ssh,git仓库ssh设置就不在这里赘述了

https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2019/8/31/16ce699c153f1c2e~tplv-t2oaga2asx-image.image

https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2019/8/31/16ce699c1027bf38~tplv-t2oaga2asx-image.image

最后保存

https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2019/8/31/16ce699c1f5b7349~tplv-t2oaga2asx-image.image

6 查看效果

https://p1-jj.byteimg.com/tos-cn-i-t2oaga2asx/gold-user-assets/2019/8/31/16ce699c1b79ad50~tplv-t2oaga2asx-image.image

总体操作下来还是比较顺利的,网上也有很多类似的文章.生成 dist目录后,其实还需要运行scp命令发送到另外一台服务器部署,有兴趣大家可以去了解下.

菜鸟教程-Docker安装
Docker官网-安装
博客园-jdk安装
jenkins官网-安装node项目