玩轉 CICD 之 Jenkins 入門指北

談到 CI/CD,那便少不了這裏面的佼佼者 Jenkins,正如 Jenkins 官網說的同樣:「Build great things at any scale」,構建偉大,無所不能!docker

話很少說,該篇文章將會帶你使用 Docker 快速建立一個單機版的 Jenkins 實例以及建立一個簡單的 Pipeline 項目。瀏覽器

建立 Jenkins 實例

這裏咱們將使用 Docker 進行安裝一個單機版的 Jenkins(這裏假設你瞭解 Docker 等工具的使用):bash

docker run -d --name jenkins \
  -p 50000:50000 \
  -p 8080:8080 \
  -v /srv/jenkins:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /usr/bin/docker:/usr/bin/docker \
  -u root \
  --restart always \
  jenkins/jenkins:2.263.4
複製代碼

也可使用 DockerCompose 進行安裝,建立 docker-compose.yaml 文件並添加如下內容,而後運行 docker-compose up -dmarkdown

version: '3.7'
services:
  jenkins:
    image: jenkins/jenkins:2.263.4
    ports:
      - 50000:50000
      - 8080:8080
    volumes:
      - /srv/jenkins:/var/jenkins_home
      - /var/run/docker.sock:/var/run/docker.sock
      - /usr/bin/docker:/usr/bin/docker
    user: root
    restart: always
    container_name: jenkins
複製代碼

解釋下這裏的一些運行選項:工具

  • ports
    • 50000:50000 用於集羣部署
    • 8080:8080 用於瀏覽器訪問
  • volumes
    • /srv/jenkins:/var/jenkins_home 主要數據目錄
    • /var/run/docker.sock:/var/run/docker.sock 掛載宿主機的 docker 套接字文件
    • /usr/bin/docker:/usr/bin/docker 掛載宿主機的 docker 可執行文件
  • user: root 因爲 jenkins 容器默認使用的是 jenkins 用戶,而我使用的是 root 用戶運行的,若是不加,將會由於權限不夠沒法讀寫目錄 /srv/jenkins,這裏固然也有其餘辦法解決這個問題,好比修改目錄 /srv/jenkins 的權限給 jenkins 用戶。

這裏掛載 docker 相關的文件是爲了在執行流水線的時候可使用 docker 環境。oop

訪問 http://your_ip:8080 即可以看到下面這個頁面:ui

jenkins_install_1.png

這裏須要一個 Administrator password 才能夠繼續安裝,如今咱們回到宿主機執行下面的命令獲取它:spa

# docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword
dfd97892d82e43f18437ac628908b0b5
複製代碼

這裏咱們選擇安裝推薦的插件:插件

jenkins_install_2.png

接下來即可以看到 Jenkins 在自動幫咱們安裝一些插件,包括經常使用的 GitPipeline 等:3d

jenkins_install_3.png

而後須要建立第一個用戶:

jenkins_install_4.png

最後配置訪問的地址,若是沒有綁定域名的話,就直接默認便可:

jenkins_install_5.png

接下來就開始咱們的 CI/CD 之旅吧!

jenkins_install_6.png

jenkins_install_7.png

Pipeline 項目

點擊 New Item 建立咱們的第一個 Pipeline 項目:

jenkins_pipeline_1.png

編寫 Pipeline 腳本,打印一行 Hello World

pipeline {
    agent any

    stages {
        stage('Hello') {
            steps {
                echo 'Hello World'
            }
        }
    }
}
複製代碼

點擊 Save 保存,而後點擊 Build Now 當即運行,咱們能夠看到運行結果以下:

jenkins_pipeline_3.png

總結

本文主要針對剛接觸 CI/CD 以及 Jenkins 的朋友們,介紹瞭如何基於 Docker 快速建立 Jenkins 實例,建立了一個簡單的 Hello World 流水線項目,但願能幫助你們快速入門 Jenkins!

相關文章
相關標籤/搜索