第一個簡單Jenkins任務

Jenkins CI/CD

1. docker方式安裝

Step 1: 前提條件

安裝docker

#!/bin/bash
# docker install util
function installDocker() {
	yum install -y yum-utils device-mapper-persistent-data lvm2
	yum-config-manager  --add-repo  https://download.docker.com/linux/centos/docker-ce.repo
	echo "--------------------------------------------------------------available docker options:-------------------------------------------------------------------"
	yum list docker-ce --showduplicates | sort -r
	echo "--------------------------------------------------------------install docker-18 for you-------------------------------------------------------------------"
	yum -y install docker-ce-18.03.0.ce-1.el7.centos
}


if [ $(rpm -qa|grep docker-ce-18) ]
then
   echo -e "---------------------------${GREEN}docker already installed,no more action${NC} -----------------------------------------"
else
   echo -e "----------------------------${RED}prepare install docker${NC}------------------------------------------------------------"
   installDocker
fi

禁掉防火牆

systemctl disable firewalld
systemctl stop firewalld

抑制docker配置防火牆鏈。基於2

vim /etc/docker/daemon.json
{
   "registry-mirrors":["https://ung2thfc.mirror.aliyuncs.com"]
}

修改https爲http

[root@bogon ~]# find / -name "hudson.model.UpdateCenter.xml"
/var/lib/docker/volumes/jenkins-data/_data/hudson.model.UpdateCenter.xml
[root@bogon ~]# vim /var/lib/docker/volumes/jenkins-data/_data/hudson.model.UpdateCenter.xml
[root@bogon ~]# cat /var/lib/docker/volumes/jenkins-data/_data/hudson.model.UpdateCenter.xml
<?xml version='1.1' encoding='UTF-8'?>
<sites>
  <site>
    <id>default</id>
    <url>http://updates.jenkins.io/update-center.json</url>
  </site>
</sites>

Step 2: 安裝鏡像

docker pull jenkinsci/blueocean
docker image pull docker:dind
# 創建網絡
docker network create jenkins
# 創建volume
docker volume create jenkins-docker-certs
docker volume create jenkins-data

運行:


docker container run --name jenkins-docker --rm --detach \
  --privileged --network jenkins --network-alias docker \
  --env DOCKER_TLS_CERTDIR=/certs \
  --volume jenkins-docker-certs:/certs/client \
  --volume jenkins-data:/var/jenkins_home \
  --publish 2376:2376 docker:dind


docker container run --name jenkins-blueocean --rm --detach \
  --network jenkins --env DOCKER_HOST=tcp://docker:2376 \
  --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 \
  --volume jenkins-data:/var/jenkins_home \
  --volume jenkins-docker-certs:/certs/client:ro \
  --publish 8080:8080 --publish 50000:50000 jenkinsci/blueocean


Step 3: 解鎖jenkins

http://localhost:8080

在這裏插入圖片描述
查看:
/var/jenkins_home/secrets/initialAdminPassword

[root@bogon ~]# docker ps
CONTAINER ID        IMAGE                 COMMAND                  CREATED             STATUS              PORTS                                              NAMES
76f2ae0d054a        jenkinsci/blueocean   "/sbin/tini -- /usr/…"   8 minutes ago       Up 8 minutes        0.0.0.0:8080->8080/tcp, 0.0.0.0:50000->50000/tcp   jenkins-blueocean
fe2c69368564        docker:dind           "dockerd-entrypoint.…"   8 minutes ago       Up 8 minutes        2375/tcp, 0.0.0.0:2376->2376/tcp                   jenkins-docker

切入到容器裏面

docker exec -it  76f2ae0d054a bash
bash-4.4$ cat /var/jenkins_home/secrets/initialAdminPassword
26bf533175fd443daf000770841470c  #這個密碼貼進去

在這裏插入圖片描述

在這裏插入圖片描述

reference list

  1. https://jenkins.io/doc/book/installing/#setup-wizard
  2. https://www.cnblogs.com/hailun1987/p/7518306.html
  3. https://blog.csdn.net/qq_33355821/article/details/87873772

Jenkins自定義docker私有倉庫

網易雲私有倉庫首頁:https://c.163.com/hub#/home

基於custom-registry,使用網易雲docker鏡像來下載maven,如:

pipeline {
    agent {
        docker {
            image 'library/maven:3-alpine' 
            args '-v /root/.m2:/root/.m2'
   	    	registryUrl 'https://hub.c.163.com' 
        }
    }
}

2. war包方式安裝

下載jar包後,使其後臺執行,並將日誌輸出到jenkins.log

nohup java -jar jenkins.war > jenkins.log 2>&1 &

3. 構建第一個Maven項目

Step 1. 全局工具配置

打開系統管理->全局系統工具配置:
在這裏插入圖片描述
設置maven settings.xml
在這裏插入圖片描述
設置git,這個path To Git executable保留默認就可以。

在這裏插入圖片描述

設置maven可執行文件路徑:
在這裏插入圖片描述

Step 2: (安裝)Blue Ocean插件

這個就是個新版的UI界面。最好裝一下,因爲很好看=_=|||。之後裝什麼插件,都在這裏裝。

在這裏插入圖片描述
在可選插件裏搜blue,點擊直接安裝。
在這裏插入圖片描述

Step 3: 編輯pipeline文件

通常你的遠程倉庫裏應該有個Jenkinsfile,我這裏遠程倉庫沒有這個部署描述文件。
我的樣例參考項目在:https://github.com/oneslideicywater/common.git

在這裏插入圖片描述
編輯pipeline文件:
在這裏插入圖片描述
pipeline所謂的聲明式,就是使用的groovy語言的語法。具體內容如下:

pipeline {
   agent any
   tools {
      maven 'maven'
   }

   stages {
      stage('Build') {
         steps {
            // Get some code from a GitHub repository
            git 'https://github.com/oneslideicywater/common.git'

            // Run Maven on a Unix agent.
            sh "mvn -Dmaven.test.failure.ignore=true clean package"

            // To run Maven on a Windows agent, use
            // bat "mvn -Dmaven.test.failure.ignore=true clean package"
         }

         post {
            // 成功之後輸出個信息
            success {
               sh 'echo success'
            }
         }
      }
   }
}

Step 4: 開始構建

在這裏插入圖片描述
查看日誌:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章