Khởi động lại cửa sổ python

Hướng dẫn này chỉ cho bạn cách sử dụng Jenkins để phối hợp xây dựng một ứng dụng Python đơn giản với PyInstaller

Nếu bạn là nhà phát triển Python chưa quen với các khái niệm CI/CD hoặc bạn có thể đã quen thuộc với các khái niệm này nhưng không biết cách triển khai xây dựng ứng dụng của mình bằng Jenkins, thì hướng dẫn này là dành cho bạn

Ứng dụng Python đơn giản [mà bạn sẽ lấy từ kho lưu trữ mẫu trên GitHub] là một công cụ dòng lệnh "add2vals" tạo ra phép cộng hai giá trị. Nếu ít nhất một trong các giá trị là một chuỗi, thì "add2vals" coi cả hai giá trị là một chuỗi và thay vào đó nối các giá trị. Hàm "add2" trong thư viện "calc" [mà "add2vals"] nhập vào được đi kèm với một tập hợp các bài kiểm tra đơn vị. Chúng được kiểm tra bằng pytest để kiểm tra xem chức năng này có hoạt động như mong đợi không và kết quả được lưu vào báo cáo JUnit XML

Việc cung cấp công cụ "add2vals" thông qua PyInstaller chuyển đổi công cụ này thành một tệp thực thi độc lập cho Linux, bạn có thể tải xuống thông qua Jenkins và thực thi tại dòng lệnh trên các máy Linux mà không cần Python

Ghi chú. Không giống như các hướng dẫn khác trong tài liệu này, hướng dẫn này yêu cầu tải xuống thêm khoảng 500 MB dữ liệu hình ảnh Docker

Khoảng thời gian. Hướng dẫn này mất 20-40 phút để hoàn thành [giả sử bạn đã đáp ứng những điều bên dưới]. Thời lượng chính xác sẽ phụ thuộc vào tốc độ máy của bạn và bạn đã xem hướng dẫn khác hay chưa

Bạn có thể dừng hướng dẫn này bất kỳ lúc nào và tiếp tục từ nơi bạn đã dừng lại

Nếu bạn đã chạy qua một hướng dẫn khác, bạn có thể bỏ qua các phần và phần bên dưới và tiếp tục. [Chỉ cần đảm bảo bạn đã cài đặt Git cục bộ. ] Nếu bạn cần khởi động lại Jenkins, chỉ cần làm theo hướng dẫn khởi động lại trong rồi tiếp tục

điều kiện tiên quyết

Đối với hướng dẫn này, bạn sẽ yêu cầu

  • Một máy macOS, Linux hoặc Windows có

    • RAM 256 MB, mặc dù khuyến nghị hơn 2 GB

    • 10 GB dung lượng ổ đĩa cho Jenkins cũng như hình ảnh và vùng chứa Docker của bạn

  • Đã cài phần mềm sau

    • Docker - Đọc thêm về cách cài đặt Docker trong phần của trang Cài đặt Jenkins
      Ghi chú. Nếu bạn sử dụng Linux, thì hướng dẫn này giả định rằng bạn không chạy các lệnh Docker với tư cách là người dùng gốc mà thay vào đó với một tài khoản người dùng duy nhất cũng có quyền truy cập vào các công cụ khác được sử dụng trong suốt hướng dẫn này

    • Git và tùy chọn GitHub Desktop

Chạy Jenkins trong Docker

Trong hướng dẫn này, bạn sẽ chạy Jenkins dưới dạng bộ chứa Docker từ hình ảnh Docker

docker run \
  --name jenkins-docker \[1]
  --rm \[2]
  --detach \[3]
  --privileged \[4]
  --network jenkins \[5]
  --network-alias docker \[6]
  --env DOCKER_TLS_CERTDIR=/certs \[7]
  --volume jenkins-docker-certs:/certs/client \[8]
  --volume jenkins-data:/var/jenkins_home \[9]
  --publish 2376:2376 \[10]
  --publish 3000:3000 --publish 5000:5000 \[11]
  docker:dind \[12]
  --storage-driver overlay2 [13]
9

Để chạy Jenkins trong Docker, hãy làm theo các hướng dẫn có liên quan bên dưới cho một trong hai hoặc

Bạn có thể đọc thêm về khái niệm Docker container và image trong phần Docker của trang Cài đặt Jenkins

Trên macOS và Linux

  1. Mở một cửa sổ đầu cuối

  2. Tạo mạng cầu nối trong Docker bằng lệnh

    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    0 sau

    docker network create jenkins

  3. Để thực thi các lệnh Docker bên trong các nút Jenkins, hãy tải xuống và chạy hình ảnh Docker

    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    1 bằng cách sử dụng lệnh
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    2 sau đây

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]

    1[Tùy chọn] Chỉ định tên bộ chứa Docker sẽ sử dụng để chạy hình ảnh. Theo mặc định, Docker sẽ tạo một tên duy nhất cho vùng chứa. 2 [Tùy chọn] Tự động xóa bộ chứa Docker [phiên bản của hình ảnh Docker] khi nó bị tắt. 3[Tùy chọn] Chạy bộ chứa Docker ở chế độ nền. Có thể dừng phiên bản này sau bằng cách chạy

    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    3. 4Running Docker trong Docker hiện yêu cầu quyền truy cập đặc quyền để hoạt động bình thường. Yêu cầu này có thể được nới lỏng với các phiên bản nhân Linux mới hơn. 5Điều này tương ứng với mạng được tạo ở bước trước đó. 6Làm cho bộ chứa Docker trong Docker khả dụng dưới dạng tên máy chủ
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    4 trong mạng
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    5. 7Cho phép sử dụng TLS trong máy chủ Docker. Do việc sử dụng vùng chứa đặc quyền, điều này được khuyến nghị, mặc dù nó yêu cầu sử dụng ổ đĩa được chia sẻ được mô tả bên dưới. Biến môi trường này kiểm soát thư mục gốc nơi quản lý chứng chỉ Docker TLS. 8Ánh xạ thư mục
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    6 bên trong vùng chứa tới một ổ đĩa Docker có tên là
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    7 như đã tạo ở trên. 9Ánh xạ thư mục
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    8 bên trong vùng chứa tới ổ đĩa Docker có tên
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    9. Điều này sẽ cho phép các bộ chứa Docker khác được điều khiển bởi trình nền Docker của bộ chứa Docker này để gắn dữ liệu từ Jenkins. 10[Tùy chọn] Hiển thị cổng daemon Docker trên máy chủ. Điều này hữu ích để thực thi các lệnh
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    4 trên máy chủ để điều khiển daemon Docker bên trong này. 11 Hiển thị các cổng 3000 và 5000 từ docker trong docker container, được sử dụng bởi một số hướng dẫn. 12Hình ảnh
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    1. Hình ảnh này có thể được tải xuống trước khi chạy bằng cách sử dụng lệnh.
    FROM jenkins/jenkins:2.375.2
    USER root
    RUN apt-get update && apt-get install -y lsb-release
    RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
      //download.docker.com/linux/debian/gpg
    RUN echo "deb [arch=$[dpkg --print-architecture] \
      signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
      //download.docker.com/linux/debian \
      $[lsb_release -cs] stable" > /etc/apt/sources.list.d/docker.list
    RUN apt-get update && apt-get install -y docker-ce-cli
    USER jenkins
    RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
    2. 13Trình điều khiển lưu trữ cho Docker volume. Xem "Trình điều khiển lưu trữ Docker" để biết các tùy chọn được hỗ trợ

    Ghi chú. Nếu sao chép và dán đoạn lệnh trên không hoạt động, hãy thử sao chép và dán phiên bản không có chú thích này tại đây

    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2

  4. Tùy chỉnh hình ảnh Jenkins Docker chính thức, bằng cách thực hiện hai bước bên dưới

    1. Tạo Dockerfile với nội dung sau

      FROM jenkins/jenkins:2.375.2
      USER root
      RUN apt-get update && apt-get install -y lsb-release
      RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
        //download.docker.com/linux/debian/gpg
      RUN echo "deb [arch=$[dpkg --print-architecture] \
        signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
        //download.docker.com/linux/debian \
        $[lsb_release -cs] stable" > /etc/apt/sources.list.d/docker.list
      RUN apt-get update && apt-get install -y docker-ce-cli
      USER jenkins
      RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"

    2. Xây dựng một hình ảnh docker mới từ Dockerfile này và gán cho hình ảnh một tên có ý nghĩa, e. g. "myjenkins-blueocean. 2. 375. 2-1"

      docker build -t myjenkins-blueocean:2.375.2-1 .

      Hãy nhớ rằng quy trình được mô tả ở trên sẽ tự động tải xuống hình ảnh Jenkins Docker chính thức nếu điều này chưa được thực hiện trước đó

  5. Chạy hình ảnh

    FROM jenkins/jenkins:2.375.2
    USER root
    RUN apt-get update && apt-get install -y lsb-release
    RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
      //download.docker.com/linux/debian/gpg
    RUN echo "deb [arch=$[dpkg --print-architecture] \
      signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
      //download.docker.com/linux/debian \
      $[lsb_release -cs] stable" > /etc/apt/sources.list.d/docker.list
    RUN apt-get update && apt-get install -y docker-ce-cli
    USER jenkins
    RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
    3 của riêng bạn dưới dạng vùng chứa trong Docker bằng cách sử dụng lệnh
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    2 sau đây

    docker run \
      --name jenkins-blueocean \[1]
      --detach \[2]
      --network jenkins \[3]
      --env DOCKER_HOST=tcp://docker:2376 \[4]
      --env DOCKER_CERT_PATH=/certs/client \
      --env DOCKER_TLS_VERIFY=1 \
      --publish 8080:8080 \[5]
      --publish 50000:50000 \[6]
      --volume jenkins-data:/var/jenkins_home \[7]
      --volume jenkins-docker-certs:/certs/client:ro \[8]
      --volume "$HOME":/home \[9]
      --restart=on-failure \[10]
      --env JAVA_OPTS="-Dhudson.plugins.git.GitSCM.ALLOW_LOCAL_CHECKOUT=true" \[11]
      myjenkins-blueocean:2.375.2-1 [12]

    1[Tùy chọn] Chỉ định tên vùng chứa Docker cho phiên bản hình ảnh Docker này. 2[Tùy chọn] Chạy vùng chứa hiện tại ở chế độ nền [i. e. chế độ "tách rời"] và xuất ID vùng chứa. Nếu bạn không chỉ định tùy chọn này thì nhật ký Docker đang chạy cho vùng chứa này sẽ được xuất trong cửa sổ đầu cuối. 3Kết nối vùng chứa này với mạng

    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    5 được xác định ở bước trước đó. Điều này làm cho trình nền Docker từ bước trước có sẵn cho bộ chứa Jenkins này thông qua tên máy chủ
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    4. 4Chỉ định các biến môi trường được sử dụng bởi
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    4,
    FROM jenkins/jenkins:2.375.2
    USER root
    RUN apt-get update && apt-get install -y lsb-release
    RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
      //download.docker.com/linux/debian/gpg
    RUN echo "deb [arch=$[dpkg --print-architecture] \
      signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
      //download.docker.com/linux/debian \
      $[lsb_release -cs] stable" > /etc/apt/sources.list.d/docker.list
    RUN apt-get update && apt-get install -y docker-ce-cli
    USER jenkins
    RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
    8 và các công cụ Docker khác để kết nối với daemon Docker từ bước trước. 5Bản đồ [tôi. e. "xuất bản"] cổng 8080 của vùng chứa hiện tại sang cổng 8080 trên máy chủ. Số đầu tiên đại diện cho cổng trên máy chủ trong khi số cuối cùng đại diện cho cổng của vùng chứa. Do đó, nếu bạn chỉ định
    FROM jenkins/jenkins:2.375.2
    USER root
    RUN apt-get update && apt-get install -y lsb-release
    RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
      //download.docker.com/linux/debian/gpg
    RUN echo "deb [arch=$[dpkg --print-architecture] \
      signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
      //download.docker.com/linux/debian \
      $[lsb_release -cs] stable" > /etc/apt/sources.list.d/docker.list
    RUN apt-get update && apt-get install -y docker-ce-cli
    USER jenkins
    RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
    9 cho tùy chọn này, bạn sẽ truy cập Jenkins trên máy chủ của mình thông qua cổng 49000. 6[Tùy chọn] Ánh xạ cổng 50000 của vùng chứa hiện tại sang cổng 50000 trên máy chủ. Điều này chỉ cần thiết nếu bạn đã thiết lập một hoặc nhiều tác nhân Jenkins gửi đến trên các máy khác, từ đó các tác nhân này tương tác với bộ chứa
    docker build -t myjenkins-blueocean:2.375.2-1 .
    0 của bạn ["bộ điều khiển" Jenkins]. Các đại lý Jenkins trong nước giao tiếp với bộ điều khiển Jenkins thông qua cổng TCP 50000 theo mặc định. Bạn có thể thay đổi số cổng này trên bộ điều khiển Jenkins của mình thông qua trang Cấu hình bảo mật toàn cầu. Nếu bạn thay đổi cổng TCP cho các tác nhân Jenkins gửi đến của bộ điều khiển Jenkins của bạn thành 51000 [ví dụ], thì bạn sẽ cần chạy lại Jenkins [thông qua lệnh
    docker build -t myjenkins-blueocean:2.375.2-1 .
    1 này] và chỉ định tùy chọn "xuất bản" này bằng một cái gì đó như
    docker build -t myjenkins-blueocean:2.375.2-1 .
    2, . Các tác nhân Jenkins trong nước giao tiếp với bộ điều khiển Jenkins trên cổng đó [52000 trong ví dụ này]. Lưu ý rằng các đại lý WebSocket không cần cấu hình này. 7Ánh xạ thư mục
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    8 trong vùng chứa vào ổ đĩa Docker với tên
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    9. Thay vì ánh xạ thư mục
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    8 vào ổ đĩa Docker, bạn cũng có thể ánh xạ thư mục này tới một thư mục trên hệ thống tệp cục bộ của máy bạn. Ví dụ: chỉ định tùy chọn
    docker build -t myjenkins-blueocean:2.375.2-1 .
    6 sẽ ánh xạ thư mục
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    8 của vùng chứa tới thư mục con
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    5 trong thư mục
    docker build -t myjenkins-blueocean:2.375.2-1 .
    9 trên máy cục bộ của bạn, thư mục này thường là
    docker run \
      --name jenkins-blueocean \[1]
      --detach \[2]
      --network jenkins \[3]
      --env DOCKER_HOST=tcp://docker:2376 \[4]
      --env DOCKER_CERT_PATH=/certs/client \
      --env DOCKER_TLS_VERIFY=1 \
      --publish 8080:8080 \[5]
      --publish 50000:50000 \[6]
      --volume jenkins-data:/var/jenkins_home \[7]
      --volume jenkins-docker-certs:/certs/client:ro \[8]
      --volume "$HOME":/home \[9]
      --restart=on-failure \[10]
      --env JAVA_OPTS="-Dhudson.plugins.git.GitSCM.ALLOW_LOCAL_CHECKOUT=true" \[11]
      myjenkins-blueocean:2.375.2-1 [12]
    0 hoặc
    docker run \
      --name jenkins-blueocean \[1]
      --detach \[2]
      --network jenkins \[3]
      --env DOCKER_HOST=tcp://docker:2376 \[4]
      --env DOCKER_CERT_PATH=/certs/client \
      --env DOCKER_TLS_VERIFY=1 \
      --publish 8080:8080 \[5]
      --publish 50000:50000 \[6]
      --volume jenkins-data:/var/jenkins_home \[7]
      --volume jenkins-docker-certs:/certs/client:ro \[8]
      --volume "$HOME":/home \[9]
      --restart=on-failure \[10]
      --env JAVA_OPTS="-Dhudson.plugins.git.GitSCM.ALLOW_LOCAL_CHECKOUT=true" \[11]
      myjenkins-blueocean:2.375.2-1 [12]
    1. Lưu ý rằng nếu bạn thay đổi ổ đĩa nguồn hoặc thư mục cho điều này, thì ổ đĩa từ vùng chứa
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    1 ở trên cần được cập nhật để phù hợp với điều này. 8Ánh xạ thư mục
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    6 vào ổ đĩa
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    7 đã tạo trước đó. Điều này làm cho các chứng chỉ TLS của máy khách cần thiết để kết nối với trình nền Docker có sẵn trong đường dẫn được chỉ định bởi biến môi trường
    docker run \
      --name jenkins-blueocean \[1]
      --detach \[2]
      --network jenkins \[3]
      --env DOCKER_HOST=tcp://docker:2376 \[4]
      --env DOCKER_CERT_PATH=/certs/client \
      --env DOCKER_TLS_VERIFY=1 \
      --publish 8080:8080 \[5]
      --publish 50000:50000 \[6]
      --volume jenkins-data:/var/jenkins_home \[7]
      --volume jenkins-docker-certs:/certs/client:ro \[8]
      --volume "$HOME":/home \[9]
      --restart=on-failure \[10]
      --env JAVA_OPTS="-Dhudson.plugins.git.GitSCM.ALLOW_LOCAL_CHECKOUT=true" \[11]
      myjenkins-blueocean:2.375.2-1 [12]
    5. 9Ánh xạ thư mục
    docker build -t myjenkins-blueocean:2.375.2-1 .
    9 trên máy chủ [i. e. cục bộ] của bạn [thường là thư mục
    docker run \
      --name jenkins-blueocean \[1]
      --detach \[2]
      --network jenkins \[3]
      --env DOCKER_HOST=tcp://docker:2376 \[4]
      --env DOCKER_CERT_PATH=/certs/client \
      --env DOCKER_TLS_VERIFY=1 \
      --publish 8080:8080 \[5]
      --publish 50000:50000 \[6]
      --volume jenkins-data:/var/jenkins_home \[7]
      --volume jenkins-docker-certs:/certs/client:ro \[8]
      --volume "$HOME":/home \[9]
      --restart=on-failure \[10]
      --env JAVA_OPTS="-Dhudson.plugins.git.GitSCM.ALLOW_LOCAL_CHECKOUT=true" \[11]
      myjenkins-blueocean:2.375.2-1 [12]
    7] vào thư mục
    docker run \
      --name jenkins-blueocean \[1]
      --detach \[2]
      --network jenkins \[3]
      --env DOCKER_HOST=tcp://docker:2376 \[4]
      --env DOCKER_CERT_PATH=/certs/client \
      --env DOCKER_TLS_VERIFY=1 \
      --publish 8080:8080 \[5]
      --publish 50000:50000 \[6]
      --volume jenkins-data:/var/jenkins_home \[7]
      --volume jenkins-docker-certs:/certs/client:ro \[8]
      --volume "$HOME":/home \[9]
      --restart=on-failure \[10]
      --env JAVA_OPTS="-Dhudson.plugins.git.GitSCM.ALLOW_LOCAL_CHECKOUT=true" \[11]
      myjenkins-blueocean:2.375.2-1 [12]
    8 trong vùng chứa. Được sử dụng để truy cập các thay đổi cục bộ đối với kho hướng dẫn. 10Định cấu hình chính sách khởi động lại bộ chứa Docker để khởi động lại khi không thành công như được mô tả trong bài đăng trên blog. 11Cho phép thanh toán tại địa phương cho hướng dẫn. Xem lý do tại sao không nên sử dụng đối số này trên bản cài đặt sản xuất. 12Tên của hình ảnh Docker mà bạn đã tạo ở bước trước

    Ghi chú. Nếu sao chép và dán đoạn lệnh trên không hoạt động, hãy thử sao chép và dán phiên bản không có chú thích này tại đây

    docker run --name jenkins-blueocean --detach \
      --network jenkins --env DOCKER_HOST=tcp://docker:2376 \
      --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 \
      --publish 8080:8080 --publish 50000:50000 \
      --volume jenkins-data:/var/jenkins_home \
      --volume jenkins-docker-certs:/certs/client:ro \
      --volume "$HOME":/home \
      --restart=on-failure \
      --env JAVA_OPTS="-Dhudson.plugins.git.GitSCM.ALLOW_LOCAL_CHECKOUT=true" \
      myjenkins-blueocean:2.375.2-1

  6. tiến tới

Trên Windows

Dự án Jenkins cung cấp hình ảnh bộ chứa Linux, không phải hình ảnh bộ chứa Windows. Đảm bảo rằng cài đặt Docker cho Windows của bạn được định cấu hình để chạy

docker run \
  --name jenkins-blueocean \[1]
  --detach \[2]
  --network jenkins \[3]
  --env DOCKER_HOST=tcp://docker:2376 \[4]
  --env DOCKER_CERT_PATH=/certs/client \
  --env DOCKER_TLS_VERIFY=1 \
  --publish 8080:8080 \[5]
  --publish 50000:50000 \[6]
  --volume jenkins-data:/var/jenkins_home \[7]
  --volume jenkins-docker-certs:/certs/client:ro \[8]
  --volume "$HOME":/home \[9]
  --restart=on-failure \[10]
  --env JAVA_OPTS="-Dhudson.plugins.git.GitSCM.ALLOW_LOCAL_CHECKOUT=true" \[11]
  myjenkins-blueocean:2.375.2-1 [12]
9 thay vì
docker run --name jenkins-blueocean --detach \
  --network jenkins --env DOCKER_HOST=tcp://docker:2376 \
  --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 \
  --publish 8080:8080 --publish 50000:50000 \
  --volume jenkins-data:/var/jenkins_home \
  --volume jenkins-docker-certs:/certs/client:ro \
  --volume "$HOME":/home \
  --restart=on-failure \
  --env JAVA_OPTS="-Dhudson.plugins.git.GitSCM.ALLOW_LOCAL_CHECKOUT=true" \
  myjenkins-blueocean:2.375.2-1
0. Xem tài liệu Docker để biết hướng dẫn. Sau khi được định cấu hình để chạy
docker run \
  --name jenkins-blueocean \[1]
  --detach \[2]
  --network jenkins \[3]
  --env DOCKER_HOST=tcp://docker:2376 \[4]
  --env DOCKER_CERT_PATH=/certs/client \
  --env DOCKER_TLS_VERIFY=1 \
  --publish 8080:8080 \[5]
  --publish 50000:50000 \[6]
  --volume jenkins-data:/var/jenkins_home \[7]
  --volume jenkins-docker-certs:/certs/client:ro \[8]
  --volume "$HOME":/home \[9]
  --restart=on-failure \[10]
  --env JAVA_OPTS="-Dhudson.plugins.git.GitSCM.ALLOW_LOCAL_CHECKOUT=true" \[11]
  myjenkins-blueocean:2.375.2-1 [12]
9, các bước là

  1. Mở cửa sổ nhắc lệnh lên và tương tự như hướng dẫn trên bạn làm như sau

  2. Tạo mạng cầu nối trong Docker

    docker network create jenkins

  3. Chạy docker. hình ảnh dond Docker

    docker run --name jenkins-docker --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 3000:3000 --publish 5000:5000 --publish 2376:2376 ^
      docker:dind

  4. Tùy chỉnh hình ảnh Jenkins Docker chính thức, bằng cách thực hiện hai bước bên dưới

    1. Tạo Dockerfile với nội dung sau

      FROM jenkins/jenkins:2.375.2
      USER root
      RUN apt-get update && apt-get install -y lsb-release
      RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
        //download.docker.com/linux/debian/gpg
      RUN echo "deb [arch=$[dpkg --print-architecture] \
        signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
        //download.docker.com/linux/debian \
        $[lsb_release -cs] stable" > /etc/apt/sources.list.d/docker.list
      RUN apt-get update && apt-get install -y docker-ce-cli
      USER jenkins
      RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"

    2. Xây dựng một hình ảnh docker mới từ Dockerfile này và gán cho hình ảnh một tên có ý nghĩa, e. g. "myjenkins-blueocean. 2. 375. 2-1"

      docker build -t myjenkins-blueocean:2.375.2-1 .

      Hãy nhớ rằng quy trình được mô tả ở trên sẽ tự động tải xuống hình ảnh Jenkins Docker chính thức nếu điều này chưa được thực hiện trước đó

  5. Chạy hình ảnh

    FROM jenkins/jenkins:2.375.2
    USER root
    RUN apt-get update && apt-get install -y lsb-release
    RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
      //download.docker.com/linux/debian/gpg
    RUN echo "deb [arch=$[dpkg --print-architecture] \
      signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
      //download.docker.com/linux/debian \
      $[lsb_release -cs] stable" > /etc/apt/sources.list.d/docker.list
    RUN apt-get update && apt-get install -y docker-ce-cli
    USER jenkins
    RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
    3 của riêng bạn dưới dạng vùng chứa trong Docker bằng cách sử dụng lệnh
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    2 sau đây

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    1

  6. tiến tới

Truy cập bộ chứa Docker

Nếu bạn có một số kinh nghiệm với Docker và bạn muốn hoặc cần truy cập bộ chứa Docker của mình thông qua dấu nhắc lệnh/thiết bị đầu cuối bằng cách sử dụng lệnh

docker run --name jenkins-blueocean --detach \
  --network jenkins --env DOCKER_HOST=tcp://docker:2376 \
  --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 \
  --publish 8080:8080 --publish 50000:50000 \
  --volume jenkins-data:/var/jenkins_home \
  --volume jenkins-docker-certs:/certs/client:ro \
  --volume "$HOME":/home \
  --restart=on-failure \
  --env JAVA_OPTS="-Dhudson.plugins.git.GitSCM.ALLOW_LOCAL_CHECKOUT=true" \
  myjenkins-blueocean:2.375.2-1
4, bạn có thể thêm một tùy chọn như
docker run --name jenkins-blueocean --detach \
  --network jenkins --env DOCKER_HOST=tcp://docker:2376 \
  --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 \
  --publish 8080:8080 --publish 50000:50000 \
  --volume jenkins-data:/var/jenkins_home \
  --volume jenkins-docker-certs:/certs/client:ro \
  --volume "$HOME":/home \
  --restart=on-failure \
  --env JAVA_OPTS="-Dhudson.plugins.git.GitSCM.ALLOW_LOCAL_CHECKOUT=true" \
  myjenkins-blueocean:2.375.2-1
5 vào lệnh
docker run --name jenkins-blueocean --detach \
  --network jenkins --env DOCKER_HOST=tcp://docker:2376 \
  --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 \
  --publish 8080:8080 --publish 50000:50000 \
  --volume jenkins-data:/var/jenkins_home \
  --volume jenkins-docker-certs:/certs/client:ro \
  --volume "$HOME":/home \
  --restart=on-failure \
  --env JAVA_OPTS="-Dhudson.plugins.git.GitSCM.ALLOW_LOCAL_CHECKOUT=true" \
  myjenkins-blueocean:2.375.2-1
4. Điều đó sẽ truy cập vào vùng chứa Jenkins Docker có tên là "jenkins-tutorial"

Điều này có nghĩa là bạn có thể truy cập bộ chứa docker của mình [thông qua một cửa sổ dấu nhắc lệnh/thiết bị đầu cuối riêng biệt] bằng một lệnh

docker run --name jenkins-blueocean --detach \
  --network jenkins --env DOCKER_HOST=tcp://docker:2376 \
  --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 \
  --publish 8080:8080 --publish 50000:50000 \
  --volume jenkins-data:/var/jenkins_home \
  --volume jenkins-docker-certs:/certs/client:ro \
  --volume "$HOME":/home \
  --restart=on-failure \
  --env JAVA_OPTS="-Dhudson.plugins.git.GitSCM.ALLOW_LOCAL_CHECKOUT=true" \
  myjenkins-blueocean:2.375.2-1
4 như

docker run --name jenkins-blueocean --detach \
  --network jenkins --env DOCKER_HOST=tcp://docker:2376 \
  --env DOCKER_CERT_PATH=/certs/client --env DOCKER_TLS_VERIFY=1 \
  --publish 8080:8080 --publish 50000:50000 \
  --volume jenkins-data:/var/jenkins_home \
  --volume jenkins-docker-certs:/certs/client:ro \
  --volume "$HOME":/home \
  --restart=on-failure \
  --env JAVA_OPTS="-Dhudson.plugins.git.GitSCM.ALLOW_LOCAL_CHECKOUT=true" \
  myjenkins-blueocean:2.375.2-1
8

Truy cập nhật ký Docker

Chẳng hạn, có khả năng bạn cần truy cập nhật ký bảng điều khiển Jenkins khi là một phần của

Nhật ký bảng điều khiển Jenkins có thể dễ dàng truy cập thông qua cửa sổ nhắc lệnh/thiết bị đầu cuối mà từ đó bạn đã thực hiện lệnh

docker build -t myjenkins-blueocean:2.375.2-1 .
1. Trong trường hợp nếu cần, bạn cũng có thể truy cập nhật ký bảng điều khiển Jenkins thông qua nhật ký Docker của vùng chứa của mình bằng lệnh sau

docker network create jenkins
0

Bạn có thể nhận được

docker network create jenkins
1 bằng cách sử dụng lệnh
docker network create jenkins
2

Truy cập thư mục chính của Jenkins

Chẳng hạn, có khả năng bạn cần truy cập thư mục chính của Jenkins để kiểm tra chi tiết về bản dựng Jenkins trong thư mục con

docker network create jenkins
3

Nếu bạn đã ánh xạ thư mục chính của Jenkins [_______1_______8] tới một thư mục trên hệ thống tệp cục bộ của máy bạn [i. e. trong lệnh

docker build -t myjenkins-blueocean:2.375.2-1 .
1 ], thì bạn có thể truy cập nội dung của thư mục này thông qua dấu nhắc lệnh/thiết bị đầu cuối thông thường của máy

Mặt khác, nếu bạn đã chỉ định tùy chọn

docker network create jenkins
6 trong lệnh
docker build -t myjenkins-blueocean:2.375.2-1 .
1, bạn có thể truy cập nội dung của thư mục chính Jenkins thông qua dấu nhắc lệnh/thiết bị đầu cuối của bộ chứa bằng cách sử dụng lệnh
docker network create jenkins
8

docker network create jenkins
9

Như đã đề cập, bạn có thể nhận được

docker network create jenkins
1 bằng cách sử dụng lệnh
docker run --name jenkins-docker --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 3000:3000 --publish 5000:5000 --publish 2376:2376 ^
  docker:dind
1. Nếu bạn chỉ định
Tùy chọn
docker run --name jenkins-docker --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 3000:3000 --publish 5000:5000 --publish 2376:2376 ^
  docker:dind
2 trong lệnh
docker run --name jenkins-docker --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 3000:3000 --publish 5000:5000 --publish 2376:2376 ^
  docker:dind
3 ở trên [xem thêm ], bạn chỉ cần sử dụng lệnh
docker network create jenkins
8

docker run --name jenkins-docker --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 3000:3000 --publish 5000:5000 --publish 2376:2376 ^
  docker:dind
5

trình hướng dẫn cài đặt

Trước khi bạn có thể truy cập Jenkins, bạn cần thực hiện một số bước nhanh "một lần"

Mở khóa Jenkins

Khi bạn truy cập phiên bản Jenkins mới lần đầu tiên, bạn sẽ được yêu cầu mở khóa phiên bản đó bằng mật khẩu được tạo tự động

  1. Sau khi 2 bộ dấu hoa thị xuất hiện trong cửa sổ dấu nhắc lệnh/thiết bị đầu cuối, hãy duyệt đến

    docker run --name jenkins-docker --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 3000:3000 --publish 5000:5000 --publish 2376:2376 ^
      docker:dind
    6 và đợi cho đến khi trang Mở khóa Jenkins xuất hiện

  2. Hiển thị nhật ký bảng điều khiển Jenkins bằng lệnh

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    2

  3. Từ cửa sổ nhắc lệnh/thiết bị đầu cuối của bạn một lần nữa, sao chép mật khẩu chữ và số được tạo tự động [giữa 2 bộ dấu hoa thị]

  4. Trên trang Mở khóa Jenkins, dán mật khẩu này vào trường Mật khẩu quản trị viên và nhấp vào Tiếp tục

Tùy chỉnh Jenkins bằng plugin

Sau đó, trang Customize Jenkins xuất hiện

Trên trang này, hãy nhấp vào Cài đặt plugin được đề xuất

Trình hướng dẫn thiết lập hiển thị tiến trình Jenkins được định cấu hình và các plugin được đề xuất đang được cài đặt. Quá trình này có thể mất vài phút

Tạo người dùng quản trị viên đầu tiên

Cuối cùng, Jenkins yêu cầu bạn tạo người dùng quản trị viên đầu tiên của mình

  1. Khi trang Tạo người dùng quản trị viên đầu tiên xuất hiện, hãy chỉ định chi tiết của bạn trong các trường tương ứng và nhấp vào Lưu và hoàn tất

  2. Khi trang Jenkins sẵn sàng xuất hiện, nhấp vào Bắt đầu sử dụng Jenkins
    ghi chú

    • Trang này có thể cho biết Jenkins gần như đã sẵn sàng. thay vào đó và nếu vậy, hãy nhấp vào Khởi động lại

    • Nếu trang không tự động làm mới sau một phút, hãy sử dụng trình duyệt web của bạn để làm mới trang theo cách thủ công

  3. Nếu được yêu cầu, hãy đăng nhập vào Jenkins bằng thông tin đăng nhập của người dùng bạn vừa tạo và bạn đã sẵn sàng bắt đầu sử dụng Jenkins

Dừng và khởi động lại Jenkins

Trong suốt phần còn lại của hướng dẫn này, bạn có thể dừng bộ chứa Docker của mình bằng cách chạy

docker run \
  --name jenkins-docker \[1]
  --rm \[2]
  --detach \[3]
  --privileged \[4]
  --network jenkins \[5]
  --network-alias docker \[6]
  --env DOCKER_TLS_CERTDIR=/certs \[7]
  --volume jenkins-docker-certs:/certs/client \[8]
  --volume jenkins-data:/var/jenkins_home \[9]
  --publish 2376:2376 \[10]
  --publish 3000:3000 --publish 5000:5000 \[11]
  docker:dind \[12]
  --storage-driver overlay2 [13]
3

Để khởi động lại bộ chứa Docker của bạn

  1. Chạy các lệnh

    docker build -t myjenkins-blueocean:2.375.2-1 .
    1 giống như bạn đã chạy hoặc cao hơn

  2. Duyệt đến

    docker run --name jenkins-docker --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 3000:3000 --publish 5000:5000 --publish 2376:2376 ^
      docker:dind
    6

  3. Chờ cho đến khi trang đăng nhập xuất hiện và đăng nhập

Phân nhánh và sao chép kho lưu trữ mẫu

Lấy ứng dụng Python "thêm" đơn giản từ GitHub, bằng cách rẽ nhánh kho lưu trữ mẫu mã nguồn của ứng dụng vào tài khoản GitHub của riêng bạn và sau đó sao chép cục bộ rẽ nhánh này

  1. Đảm bảo bạn đã đăng nhập vào tài khoản GitHub của mình. Nếu bạn chưa có tài khoản GitHub, hãy đăng ký một tài khoản miễn phí trên trang web GitHub

  2. Chia nhánh

    docker run --name jenkins-docker --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 3000:3000 --publish 5000:5000 --publish 2376:2376 ^
      docker:dind
    9 trên GitHub vào tài khoản GitHub cục bộ của bạn. Nếu bạn cần trợ giúp về quy trình này, hãy tham khảo tài liệu Fork A Repo trên trang web GitHub để biết thêm thông tin

  3. Sao chép cục bộ kho lưu trữ

    docker run --name jenkins-docker --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 3000:3000 --publish 5000:5000 --publish 2376:2376 ^
      docker:dind
    9 rẽ nhánh của bạn [trên GitHub] vào máy của bạn. Để bắt đầu quá trình này, hãy thực hiện một trong hai thao tác sau [trong đó
    FROM jenkins/jenkins:2.375.2
    USER root
    RUN apt-get update && apt-get install -y lsb-release
    RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
      //download.docker.com/linux/debian/gpg
    RUN echo "deb [arch=$[dpkg --print-architecture] \
      signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
      //download.docker.com/linux/debian \
      $[lsb_release -cs] stable" > /etc/apt/sources.list.d/docker.list
    RUN apt-get update && apt-get install -y docker-ce-cli
    USER jenkins
    RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
    1 là tên tài khoản người dùng trên hệ điều hành của bạn]

    • Nếu bạn đã cài đặt ứng dụng GitHub Desktop trên máy của mình

      1. Trong GitHub, nhấp vào nút Sao chép hoặc tải xuống màu xanh lục trên kho lưu trữ rẽ nhánh của bạn, sau đó nhấp vào Mở trong Máy tính để bàn

      2. Trong GitHub Desktop, trước khi nhấp vào Clone trên hộp thoại Clone a Repository, hãy đảm bảo Local Path cho

        • macOS là

          FROM jenkins/jenkins:2.375.2
          USER root
          RUN apt-get update && apt-get install -y lsb-release
          RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
            //download.docker.com/linux/debian/gpg
          RUN echo "deb [arch=$[dpkg --print-architecture] \
            signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
            //download.docker.com/linux/debian \
            $[lsb_release -cs] stable" > /etc/apt/sources.list.d/docker.list
          RUN apt-get update && apt-get install -y docker-ce-cli
          USER jenkins
          RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
          2

        • Linux là

          FROM jenkins/jenkins:2.375.2
          USER root
          RUN apt-get update && apt-get install -y lsb-release
          RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
            //download.docker.com/linux/debian/gpg
          RUN echo "deb [arch=$[dpkg --print-architecture] \
            signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
            //download.docker.com/linux/debian \
            $[lsb_release -cs] stable" > /etc/apt/sources.list.d/docker.list
          RUN apt-get update && apt-get install -y docker-ce-cli
          USER jenkins
          RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
          3

        • Cửa sổ là

          FROM jenkins/jenkins:2.375.2
          USER root
          RUN apt-get update && apt-get install -y lsb-release
          RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
            //download.docker.com/linux/debian/gpg
          RUN echo "deb [arch=$[dpkg --print-architecture] \
            signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
            //download.docker.com/linux/debian \
            $[lsb_release -cs] stable" > /etc/apt/sources.list.d/docker.list
          RUN apt-get update && apt-get install -y docker-ce-cli
          USER jenkins
          RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
          4

    • Nếu không thì

      1. Mở dấu nhắc dòng lệnh/thiết bị đầu cuối và

        FROM jenkins/jenkins:2.375.2
        USER root
        RUN apt-get update && apt-get install -y lsb-release
        RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
          //download.docker.com/linux/debian/gpg
        RUN echo "deb [arch=$[dpkg --print-architecture] \
          signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
          //download.docker.com/linux/debian \
          $[lsb_release -cs] stable" > /etc/apt/sources.list.d/docker.list
        RUN apt-get update && apt-get install -y docker-ce-cli
        USER jenkins
        RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
        5 đến thư mục thích hợp trên

        • macOS -

          FROM jenkins/jenkins:2.375.2
          USER root
          RUN apt-get update && apt-get install -y lsb-release
          RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
            //download.docker.com/linux/debian/gpg
          RUN echo "deb [arch=$[dpkg --print-architecture] \
            signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
            //download.docker.com/linux/debian \
            $[lsb_release -cs] stable" > /etc/apt/sources.list.d/docker.list
          RUN apt-get update && apt-get install -y docker-ce-cli
          USER jenkins
          RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
          6

        • Linux -

          FROM jenkins/jenkins:2.375.2
          USER root
          RUN apt-get update && apt-get install -y lsb-release
          RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
            //download.docker.com/linux/debian/gpg
          RUN echo "deb [arch=$[dpkg --print-architecture] \
            signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
            //download.docker.com/linux/debian \
            $[lsb_release -cs] stable" > /etc/apt/sources.list.d/docker.list
          RUN apt-get update && apt-get install -y docker-ce-cli
          USER jenkins
          RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
          7

        • Windows -

          FROM jenkins/jenkins:2.375.2
          USER root
          RUN apt-get update && apt-get install -y lsb-release
          RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
            //download.docker.com/linux/debian/gpg
          RUN echo "deb [arch=$[dpkg --print-architecture] \
            signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
            //download.docker.com/linux/debian \
            $[lsb_release -cs] stable" > /etc/apt/sources.list.d/docker.list
          RUN apt-get update && apt-get install -y docker-ce-cli
          USER jenkins
          RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
          8 [mặc dù sử dụng cửa sổ dòng lệnh Git bash thay vì dấu nhắc lệnh thông thường của Microsoft]

      2. Chạy lệnh sau để tiếp tục/hoàn thành sao chép repo rẽ nhánh của bạn

        FROM jenkins/jenkins:2.375.2
        USER root
        RUN apt-get update && apt-get install -y lsb-release
        RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
          //download.docker.com/linux/debian/gpg
        RUN echo "deb [arch=$[dpkg --print-architecture] \
          signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
          //download.docker.com/linux/debian \
          $[lsb_release -cs] stable" > /etc/apt/sources.list.d/docker.list
        RUN apt-get update && apt-get install -y docker-ce-cli
        USER jenkins
        RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
        9
        trong đó
        docker run \
          --name jenkins-docker \[1]
          --rm \[2]
          --detach \[3]
          --privileged \[4]
          --network jenkins \[5]
          --network-alias docker \[6]
          --env DOCKER_TLS_CERTDIR=/certs \[7]
          --volume jenkins-docker-certs:/certs/client \[8]
          --volume jenkins-data:/var/jenkins_home \[9]
          --publish 2376:2376 \[10]
          --publish 3000:3000 --publish 5000:5000 \[11]
          docker:dind \[12]
          --storage-driver overlay2 [13]
        00 là tên tài khoản GitHub của bạn

Tạo dự án Đường ống của bạn trong Jenkins

  1. Quay lại Jenkins, đăng nhập lại nếu cần và nhấp vào tạo công việc mới trong Chào mừng đến với Jenkins
    Ghi chú. Nếu bạn không thấy mục này, hãy nhấp vào Mục mới ở trên cùng bên trái

  2. Trong trường Nhập tên mục, hãy chỉ định tên cho dự án Đường ống mới của bạn [e. g.

    docker run --name jenkins-docker --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 3000:3000 --publish 5000:5000 --publish 2376:2376 ^
      docker:dind
    9]

  3. Cuộn xuống và nhấp vào Đường ống, sau đó nhấp vào OK ở cuối trang

  4. [ Tùy chọn ] Trên trang tiếp theo, chỉ định mô tả ngắn gọn cho Đường ống của bạn trong trường Mô tả [e. g.

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    02]

  5. Nhấp vào tab Đường ống ở đầu trang để cuộn xuống phần Đường ống

  6. Từ trường Định nghĩa, chọn tùy chọn Tập lệnh đường ống từ SCM. Tùy chọn này hướng dẫn Jenkins lấy Đường ống của bạn từ Quản lý kiểm soát nguồn [SCM], đây sẽ là kho lưu trữ Git được nhân bản cục bộ của bạn

  7. Từ trường SCM, chọn Git

  8. Trong trường URL Kho lưu trữ, chỉ định đường dẫn thư mục của kho lưu trữ được nhân bản cục bộ của bạn, từ tài khoản người dùng/thư mục chính trên máy chủ của bạn, được ánh xạ tới thư mục

    docker run \
      --name jenkins-blueocean \[1]
      --detach \[2]
      --network jenkins \[3]
      --env DOCKER_HOST=tcp://docker:2376 \[4]
      --env DOCKER_CERT_PATH=/certs/client \
      --env DOCKER_TLS_VERIFY=1 \
      --publish 8080:8080 \[5]
      --publish 50000:50000 \[6]
      --volume jenkins-data:/var/jenkins_home \[7]
      --volume jenkins-docker-certs:/certs/client:ro \[8]
      --volume "$HOME":/home \[9]
      --restart=on-failure \[10]
      --env JAVA_OPTS="-Dhudson.plugins.git.GitSCM.ALLOW_LOCAL_CHECKOUT=true" \[11]
      myjenkins-blueocean:2.375.2-1 [12]
    8 của bộ chứa Jenkins - i. e

    • Đối với macOS -

      docker run \
        --name jenkins-docker \[1]
        --rm \[2]
        --detach \[3]
        --privileged \[4]
        --network jenkins \[5]
        --network-alias docker \[6]
        --env DOCKER_TLS_CERTDIR=/certs \[7]
        --volume jenkins-docker-certs:/certs/client \[8]
        --volume jenkins-data:/var/jenkins_home \[9]
        --publish 2376:2376 \[10]
        --publish 3000:3000 --publish 5000:5000 \[11]
        docker:dind \[12]
        --storage-driver overlay2 [13]
      04

    • Dành cho Linux -

      docker run \
        --name jenkins-docker \[1]
        --rm \[2]
        --detach \[3]
        --privileged \[4]
        --network jenkins \[5]
        --network-alias docker \[6]
        --env DOCKER_TLS_CERTDIR=/certs \[7]
        --volume jenkins-docker-certs:/certs/client \[8]
        --volume jenkins-data:/var/jenkins_home \[9]
        --publish 2376:2376 \[10]
        --publish 3000:3000 --publish 5000:5000 \[11]
        docker:dind \[12]
        --storage-driver overlay2 [13]
      05

    • Dành cho Windows -

      docker run \
        --name jenkins-docker \[1]
        --rm \[2]
        --detach \[3]
        --privileged \[4]
        --network jenkins \[5]
        --network-alias docker \[6]
        --env DOCKER_TLS_CERTDIR=/certs \[7]
        --volume jenkins-docker-certs:/certs/client \[8]
        --volume jenkins-data:/var/jenkins_home \[9]
        --publish 2376:2376 \[10]
        --publish 3000:3000 --publish 5000:5000 \[11]
        docker:dind \[12]
        --storage-driver overlay2 [13]
      04

  9. Nhấp vào Lưu để lưu dự án Đường ống mới của bạn. Bây giờ bạn đã sẵn sàng để bắt đầu tạo

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    07 của mình, mà bạn sẽ kiểm tra kho lưu trữ Git được nhân bản cục bộ của mình

Tạo Đường ống ban đầu của bạn dưới dạng Jenkinsfile

Bây giờ, bạn đã sẵn sàng để tạo Quy trình tự động hóa việc xây dựng ứng dụng Python của mình với PyInstaller trong Jenkins. Quy trình của bạn sẽ được tạo dưới dạng

docker run \
  --name jenkins-docker \[1]
  --rm \[2]
  --detach \[3]
  --privileged \[4]
  --network jenkins \[5]
  --network-alias docker \[6]
  --env DOCKER_TLS_CERTDIR=/certs \[7]
  --volume jenkins-docker-certs:/certs/client \[8]
  --volume jenkins-data:/var/jenkins_home \[9]
  --publish 2376:2376 \[10]
  --publish 3000:3000 --publish 5000:5000 \[11]
  docker:dind \[12]
  --storage-driver overlay2 [13]
07, sẽ được cam kết với kho lưu trữ Git được nhân bản cục bộ của bạn [
docker run --name jenkins-docker --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 3000:3000 --publish 5000:5000 --publish 2376:2376 ^
  docker:dind
9]

Đây là nền tảng của "Pipeline-as-Code", coi quy trình phân phối liên tục là một phần của ứng dụng được tạo phiên bản và xem xét giống như bất kỳ mã nào khác. Đọc thêm về Đường ống và Jenkinsfile là gì trong phần Đường ống và Sử dụng Jenkinsfile trong Sổ tay Người dùng

Đầu tiên, tạo một Quy trình ban đầu với giai đoạn "Xây dựng" để thực hiện phần đầu tiên của toàn bộ quy trình sản xuất cho ứng dụng của bạn. Giai đoạn "Xây dựng" này tải xuống hình ảnh Python Docker và chạy nó dưới dạng bộ chứa Docker, từ đó biên dịch ứng dụng Python đơn giản của bạn thành mã byte

  1. Sử dụng trình soạn thảo văn bản hoặc IDE yêu thích của bạn, tạo và lưu tệp văn bản mới với tên

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    07 tại thư mục gốc của kho lưu trữ Git
    docker run --name jenkins-docker --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 3000:3000 --publish 5000:5000 --publish 2376:2376 ^
      docker:dind
    9 cục bộ của bạn

  2. Sao chép mã Quy trình Khai báo sau đây và dán mã đó vào

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    07 trống của bạn

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    4

    1Phần có tham số

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    14 được chỉ định ở đầu khối mã Đường ống này có nghĩa là không có tác nhân toàn cầu nào sẽ được phân bổ để thực hiện toàn bộ Đường ống và mỗi chỉ thị phải chỉ định phần ________0____13 của riêng mình. 2Xác định một [chỉ thị] có tên là
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    18 xuất hiện trên giao diện người dùng Jenkins. 3Tham số
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    19 này [của tham số
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    4 của phần] tải xuống hình ảnh Docker
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    22 [nếu nó chưa có sẵn trên máy của bạn] và chạy hình ảnh này dưới dạng một vùng chứa riêng biệt. Điều này có nghĩa rằng

    • Bạn sẽ có các thùng chứa Jenkins và Python riêng biệt chạy cục bộ trong Docker

    • Bộ chứa Python trở thành bộ chứa mà Jenkins sử dụng để chạy giai đoạn

      docker run \
        --name jenkins-docker \[1]
        --rm \[2]
        --detach \[3]
        --privileged \[4]
        --network jenkins \[5]
        --network-alias docker \[6]
        --env DOCKER_TLS_CERTDIR=/certs \[7]
        --volume jenkins-docker-certs:/certs/client \[8]
        --volume jenkins-data:/var/jenkins_home \[9]
        --publish 2376:2376 \[10]
        --publish 3000:3000 --publish 5000:5000 \[11]
        docker:dind \[12]
        --storage-driver overlay2 [13]
      18 của dự án Đường ống của bạn. Tuy nhiên, thùng chứa này tồn tại trong thời gian ngắn - tuổi thọ của nó chỉ bằng khoảng thời gian thực hiện giai đoạn
      docker run \
        --name jenkins-docker \[1]
        --rm \[2]
        --detach \[3]
        --privileged \[4]
        --network jenkins \[5]
        --network-alias docker \[6]
        --env DOCKER_TLS_CERTDIR=/certs \[7]
        --volume jenkins-docker-certs:/certs/client \[8]
        --volume jenkins-data:/var/jenkins_home \[9]
        --publish 2376:2376 \[10]
        --publish 3000:3000 --publish 5000:5000 \[11]
        docker:dind \[12]
        --storage-driver overlay2 [13]
      18 của bạn

    4Bước này [của phần] chạy lệnh Python để biên dịch ứng dụng của bạn và thư viện
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    27 của nó thành các tệp mã byte [mỗi tệp có phần mở rộng
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    28], được đặt vào thư mục không gian làm việc ________0____29 [trong thư mục
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    30 trong bộ chứa Jenkins]. 5Bước này [của phần
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    32] lưu mã nguồn Python và tệp mã byte đã biên dịch [với phần mở rộng
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    28] từ thư mục không gian làm việc
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    29 để sử dụng trong các giai đoạn sau

  3. Lưu

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    07 đã chỉnh sửa của bạn và chuyển giao nó vào kho lưu trữ Git
    docker run --name jenkins-docker --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 3000:3000 --publish 5000:5000 --publish 2376:2376 ^
      docker:dind
    9 địa phương của bạn. e. g. Trong thư mục
    docker run --name jenkins-docker --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 3000:3000 --publish 5000:5000 --publish 2376:2376 ^
      docker:dind
    9, hãy chạy các lệnh
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    38
    sau đó
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    39

  4. Quay lại Jenkins một lần nữa, đăng nhập lại nếu cần và nhấp vào Open Blue Ocean ở bên trái để truy cập giao diện Blue Ocean của Jenkins

  5. Trong hộp thông báo Công việc này chưa được chạy, nhấp vào Chạy, sau đó nhấp nhanh vào liên kết MỞ xuất hiện nhanh ở phía dưới bên phải để xem Jenkins đang chạy dự án Đường ống của bạn. Nếu bạn không thể nhấp vào liên kết MỞ, hãy nhấp vào hàng trên giao diện chính của Blue Ocean để truy cập tính năng này
    Ghi chú. Bạn có thể phải đợi vài phút để lần chạy đầu tiên này hoàn tất. Sau khi tạo một bản sao của chính kho lưu trữ Git

    docker run --name jenkins-docker --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 3000:3000 --publish 5000:5000 --publish 2376:2376 ^
      docker:dind
    9 cục bộ của bạn, Jenkins

    1. Ban đầu xếp hàng dự án để chạy trên tác nhân

    2. Chạy giai đoạn

      docker run \
        --name jenkins-docker \[1]
        --rm \[2]
        --detach \[3]
        --privileged \[4]
        --network jenkins \[5]
        --network-alias docker \[6]
        --env DOCKER_TLS_CERTDIR=/certs \[7]
        --volume jenkins-docker-certs:/certs/client \[8]
        --volume jenkins-data:/var/jenkins_home \[9]
        --publish 2376:2376 \[10]
        --publish 3000:3000 --publish 5000:5000 \[11]
        docker:dind \[12]
        --storage-driver overlay2 [13]
      18 [được xác định trong
      docker run \
        --name jenkins-docker \[1]
        --rm \[2]
        --detach \[3]
        --privileged \[4]
        --network jenkins \[5]
        --network-alias docker \[6]
        --env DOCKER_TLS_CERTDIR=/certs \[7]
        --volume jenkins-docker-certs:/certs/client \[8]
        --volume jenkins-data:/var/jenkins_home \[9]
        --publish 2376:2376 \[10]
        --publish 3000:3000 --publish 5000:5000 \[11]
        docker:dind \[12]
        --storage-driver overlay2 [13]
      07] trên vùng chứa Python. Trong thời gian này, Python sử dụng mô-đun
      docker run \
        --name jenkins-docker \[1]
        --rm \[2]
        --detach \[3]
        --privileged \[4]
        --network jenkins \[5]
        --network-alias docker \[6]
        --env DOCKER_TLS_CERTDIR=/certs \[7]
        --volume jenkins-docker-certs:/certs/client \[8]
        --volume jenkins-data:/var/jenkins_home \[9]
        --publish 2376:2376 \[10]
        --publish 3000:3000 --publish 5000:5000 \[11]
        docker:dind \[12]
        --storage-driver overlay2 [13]
      43 để biên dịch mã ứng dụng Python của bạn và thư viện
      docker run \
        --name jenkins-docker \[1]
        --rm \[2]
        --detach \[3]
        --privileged \[4]
        --network jenkins \[5]
        --network-alias docker \[6]
        --env DOCKER_TLS_CERTDIR=/certs \[7]
        --volume jenkins-docker-certs:/certs/client \[8]
        --volume jenkins-data:/var/jenkins_home \[9]
        --publish 2376:2376 \[10]
        --publish 3000:3000 --publish 5000:5000 \[11]
        docker:dind \[12]
        --storage-driver overlay2 [13]
      27 của nó thành mã byte, được lưu trữ trong thư mục không gian làm việc
      docker run \
        --name jenkins-docker \[1]
        --rm \[2]
        --detach \[3]
        --privileged \[4]
        --network jenkins \[5]
        --network-alias docker \[6]
        --env DOCKER_TLS_CERTDIR=/certs \[7]
        --volume jenkins-docker-certs:/certs/client \[8]
        --volume jenkins-data:/var/jenkins_home \[9]
        --publish 2376:2376 \[10]
        --publish 3000:3000 --publish 5000:5000 \[11]
        docker:dind \[12]
        --storage-driver overlay2 [13]
      29 [trong thư mục chính của Jenkins]

    Giao diện Blue Ocean chuyển sang màu xanh lục nếu Jenkins biên dịch thành công ứng dụng Python của bạn

  6. Nhấp vào X ở trên cùng bên phải để quay lại giao diện chính của Blue Ocean

Thêm giai đoạn thử nghiệm vào Quy trình của bạn

  1. Quay lại trình soạn thảo văn bản/IDE của bạn và đảm bảo rằng

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    07 của bạn đang mở

  2. Sao chép và dán cú pháp Declarative Pipeline sau đây ngay dưới giai đoạn

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    18 của
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    07 của bạn

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    5

    để bạn kết thúc với

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    6

    1Xác định một [chỉ thị] có tên là

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    50 xuất hiện trên giao diện người dùng Jenkins. 2Tham số
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    19 này [của tham số
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    4 của phần] tải xuống hình ảnh Docker ________0____54 [nếu hình ảnh này chưa có sẵn trên máy của bạn] và chạy hình ảnh này dưới dạng một vùng chứa riêng biệt. Điều này có nghĩa rằng

    • Bạn sẽ có các thùng chứa Jenkins và pytest riêng biệt chạy cục bộ trong Docker

    • Vùng chứa pytest trở thành vùng chứa mà Jenkins sử dụng để chạy giai đoạn

      docker run \
        --name jenkins-docker \[1]
        --rm \[2]
        --detach \[3]
        --privileged \[4]
        --network jenkins \[5]
        --network-alias docker \[6]
        --env DOCKER_TLS_CERTDIR=/certs \[7]
        --volume jenkins-docker-certs:/certs/client \[8]
        --volume jenkins-data:/var/jenkins_home \[9]
        --publish 2376:2376 \[10]
        --publish 3000:3000 --publish 5000:5000 \[11]
        docker:dind \[12]
        --storage-driver overlay2 [13]
      50 của dự án Đường ống của bạn. Tuổi thọ của thùng chứa này kéo dài trong khoảng thời gian thực hiện giai đoạn
      docker run \
        --name jenkins-docker \[1]
        --rm \[2]
        --detach \[3]
        --privileged \[4]
        --network jenkins \[5]
        --network-alias docker \[6]
        --env DOCKER_TLS_CERTDIR=/certs \[7]
        --volume jenkins-docker-certs:/certs/client \[8]
        --volume jenkins-data:/var/jenkins_home \[9]
        --publish 2376:2376 \[10]
        --publish 3000:3000 --publish 5000:5000 \[11]
        docker:dind \[12]
        --storage-driver overlay2 [13]
      50 của bạn

    3Bước này [của phần] thực thi lệnh
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    59 của pytest trên
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    60, chạy một tập hợp các bài kiểm tra đơn vị [được định nghĩa trong
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    61] trên hàm ________0____62 của thư viện "calc" [được sử dụng bởi ứng dụng Python đơn giản của bạn
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    63]. Các

    • Tùy chọn

      docker run \
        --name jenkins-docker \[1]
        --rm \[2]
        --detach \[3]
        --privileged \[4]
        --network jenkins \[5]
        --network-alias docker \[6]
        --env DOCKER_TLS_CERTDIR=/certs \[7]
        --volume jenkins-docker-certs:/certs/client \[8]
        --volume jenkins-data:/var/jenkins_home \[9]
        --publish 2376:2376 \[10]
        --publish 3000:3000 --publish 5000:5000 \[11]
        docker:dind \[12]
        --storage-driver overlay2 [13]
      64 làm cho
      docker run \
        --name jenkins-docker \[1]
        --rm \[2]
        --detach \[3]
        --privileged \[4]
        --network jenkins \[5]
        --network-alias docker \[6]
        --env DOCKER_TLS_CERTDIR=/certs \[7]
        --volume jenkins-docker-certs:/certs/client \[8]
        --volume jenkins-data:/var/jenkins_home \[9]
        --publish 2376:2376 \[10]
        --publish 3000:3000 --publish 5000:5000 \[11]
        docker:dind \[12]
        --storage-driver overlay2 [13]
      59 tạo báo cáo JUnit XML, báo cáo này được lưu vào
      docker run \
        --name jenkins-docker \[1]
        --rm \[2]
        --detach \[3]
        --privileged \[4]
        --network jenkins \[5]
        --network-alias docker \[6]
        --env DOCKER_TLS_CERTDIR=/certs \[7]
        --volume jenkins-docker-certs:/certs/client \[8]
        --volume jenkins-data:/var/jenkins_home \[9]
        --publish 2376:2376 \[10]
        --publish 3000:3000 --publish 5000:5000 \[11]
        docker:dind \[12]
        --storage-driver overlay2 [13]
      66 [trong thư mục
      docker run \
        --name jenkins-docker \[1]
        --rm \[2]
        --detach \[3]
        --privileged \[4]
        --network jenkins \[5]
        --network-alias docker \[6]
        --env DOCKER_TLS_CERTDIR=/certs \[7]
        --volume jenkins-docker-certs:/certs/client \[8]
        --volume jenkins-data:/var/jenkins_home \[9]
        --publish 2376:2376 \[10]
        --publish 3000:3000 --publish 5000:5000 \[11]
        docker:dind \[12]
        --storage-driver overlay2 [13]
      30 trong bộ chứa Jenkins]

    4Bước này [được cung cấp bởi Plugin JUnit] lưu trữ báo cáo JUnit XML [được tạo bởi lệnh
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    59 ở trên] và hiển thị kết quả thông qua giao diện Jenkins. Trong Blue Ocean, kết quả có thể truy cập được thông qua trang Thử nghiệm của quá trình chạy Đường ống. Điều kiện
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    71 của phần có chứa bước
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    68 này đảm bảo rằng bước này luôn được thực hiện khi hoàn thành giai đoạn
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    50, bất kể kết quả của giai đoạn đó là gì

  3. Lưu

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    07 đã chỉnh sửa của bạn và chuyển giao nó vào kho lưu trữ Git
    docker run --name jenkins-docker --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 3000:3000 --publish 5000:5000 --publish 2376:2376 ^
      docker:dind
    9 địa phương của bạn. e. g. Trong thư mục
    docker run --name jenkins-docker --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 3000:3000 --publish 5000:5000 --publish 2376:2376 ^
      docker:dind
    9, hãy chạy các lệnh
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    77
    sau đó
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    78

  4. Quay lại Jenkins một lần nữa, đăng nhập lại nếu cần và đảm bảo bạn đã truy cập giao diện Blue Ocean của Jenkins

  5. Nhấp vào Chạy ở trên cùng bên trái, sau đó nhấp nhanh vào liên kết MỞ xuất hiện nhanh ở phía dưới bên phải để xem Jenkins đang chạy dự án Đường ống đã sửa đổi của bạn. Nếu bạn không thể nhấp vào liên kết MỞ, hãy nhấp vào hàng trên cùng của giao diện Blue Ocean để truy cập tính năng này
    Ghi chú. Có thể mất vài phút để tải xuống hình ảnh Docker

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    54 [nếu việc này chưa được thực hiện]
    Nếu Quy trình sửa đổi của bạn chạy thành công, đây là giao diện của Blue Ocean sẽ như thế nào. Chú ý thêm giai đoạn "Test". Bạn có thể nhấp vào vòng tròn giai đoạn "Xây dựng" trước đó để truy cập đầu ra từ giai đoạn đó

  6. Nhấp vào X ở trên cùng bên phải để quay lại giao diện chính của Blue Ocean

Thêm giai đoạn phân phối cuối cùng vào Quy trình của bạn

  1. Quay lại trình soạn thảo văn bản/IDE của bạn và đảm bảo rằng

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    07 của bạn đang mở

  2. Sao chép và dán cú pháp Declarative Pipeline sau đây ngay bên dưới giai đoạn

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    50 của
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    07 của bạn

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    7

    và thêm một tùy chọn

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    83 để bạn kết thúc với

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    8

    1Xác định một [chỉ thị] có tên là

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    85 xuất hiện trên giao diện người dùng Jenkins. 2Khối
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    86 này xác định hai biến sẽ được sử dụng sau này trong giai đoạn 'Phân phối'. 3Bước này [của phần
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    32] tạo một thư mục con mới được đặt tên theo số bản dựng. Chương trình cuối cùng sẽ được tạo trong thư mục đó bởi pyinstaller.
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    89 là một trong những Jenkins được xác định trước và có sẵn trong tất cả các công việc. 4Bước này [của phần
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    32] khôi phục mã nguồn Python và các tệp mã byte đã biên dịch [với phần mở rộng
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    28] từ hình ảnh lưu trữ đã lưu trước đó [nếu nó chưa có sẵn trên máy của bạn] và chạy hình ảnh này dưới dạng một bộ chứa riêng. Điều này có nghĩa rằng

    • Bạn sẽ có các thùng chứa Jenkins và PyInstaller [dành cho Linux] riêng chạy cục bộ trong Docker

    • Bộ chứa PyInstaller trở thành bộ chứa mà Jenkins sử dụng để chạy giai đoạn

      docker run \
        --name jenkins-docker \[1]
        --rm \[2]
        --detach \[3]
        --privileged \[4]
        --network jenkins \[5]
        --network-alias docker \[6]
        --env DOCKER_TLS_CERTDIR=/certs \[7]
        --volume jenkins-docker-certs:/certs/client \[8]
        --volume jenkins-data:/var/jenkins_home \[9]
        --publish 2376:2376 \[10]
        --publish 3000:3000 --publish 5000:5000 \[11]
        docker:dind \[12]
        --storage-driver overlay2 [13]
      85 của dự án Đường ống của bạn. Tuổi thọ của thùng chứa này kéo dài trong khoảng thời gian thực hiện giai đoạn
      docker run \
        --name jenkins-docker \[1]
        --rm \[2]
        --detach \[3]
        --privileged \[4]
        --network jenkins \[5]
        --network-alias docker \[6]
        --env DOCKER_TLS_CERTDIR=/certs \[7]
        --volume jenkins-docker-certs:/certs/client \[8]
        --volume jenkins-data:/var/jenkins_home \[9]
        --publish 2376:2376 \[10]
        --publish 3000:3000 --publish 5000:5000 \[11]
        docker:dind \[12]
        --storage-driver overlay2 [13]
      85 của bạn

    5Bước này [của phần] thực thi lệnh
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    97 [trong bộ chứa PyInstaller] trên ứng dụng Python đơn giản của bạn. Điều này kết hợp ứng dụng Python
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    98 của bạn thành một tệp thực thi độc lập duy nhất [thông qua tùy chọn
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    99] và xuất tệp này vào thư mục không gian làm việc
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    00 [trong thư mục chính của Jenkins]. Mặc dù bước này bao gồm một lệnh duy nhất, theo nguyên tắc chung, bạn nên giữ mã Quy trình của mình [i. e.
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    07] càng gọn gàng càng tốt và đặt các bước xây dựng phức tạp hơn [đặc biệt đối với các giai đoạn bao gồm 2 bước trở lên] vào các tệp shell script riêng biệt như tệp
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    02. Điều này cuối cùng làm cho việc duy trì mã Đường ống của bạn dễ dàng hơn, đặc biệt nếu Đường ống của bạn phức tạp hơn. 6Bước này [được cung cấp như một phần của lõi Jenkins] lưu trữ tệp thực thi độc lập [được tạo bởi lệnh
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    97 ở trên tại
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    05 trong thư mục không gian làm việc của nhà Jenkins] và hiển thị tệp này thông qua giao diện Jenkins. Trong Blue Ocean, các hiện vật được lưu trữ như thế này có thể truy cập được thông qua trang Hiện vật của một quy trình chạy Đường ống. Điều kiện
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    07 của phần có chứa bước
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    03 này đảm bảo rằng bước này được thực hiện khi hoàn thành giai đoạn
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    85 chỉ khi giai đoạn này hoàn thành thành công

  3. Lưu

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    07 đã chỉnh sửa của bạn và chuyển giao nó vào kho lưu trữ Git
    docker run --name jenkins-docker --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 3000:3000 --publish 5000:5000 --publish 2376:2376 ^
      docker:dind
    9 địa phương của bạn. e. g. Trong thư mục
    docker run --name jenkins-docker --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 3000:3000 --publish 5000:5000 --publish 2376:2376 ^
      docker:dind
    9, hãy chạy các lệnh
    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    77
    sau đó
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    14

  4. Quay lại Jenkins một lần nữa, đăng nhập lại nếu cần và đảm bảo bạn đã truy cập giao diện Blue Ocean của Jenkins

  5. Nhấp vào Chạy ở trên cùng bên trái, sau đó nhấp nhanh vào liên kết MỞ xuất hiện nhanh ở phía dưới bên phải để xem Jenkins đang chạy dự án Đường ống đã sửa đổi của bạn. Nếu bạn không thể nhấp vào liên kết MỞ, hãy nhấp vào hàng trên cùng của giao diện Blue Ocean để truy cập tính năng này
    Ghi chú. Có thể mất vài phút để tải xuống hình ảnh Docker

    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    15 [nếu việc này chưa được thực hiện]
    Nếu Quy trình sửa đổi của bạn chạy thành công, đây là giao diện của Blue Ocean sẽ như thế nào. Lưu ý giai đoạn "Giao hàng" bổ sung. Nhấp vào vòng kết nối giai đoạn "Thử nghiệm" và "Xây dựng" trước đó để truy cập kết quả đầu ra từ các giai đoạn đó

    Đây là kết quả đầu ra của giai đoạn "Phân phối" sẽ như thế nào, hiển thị cho bạn kết quả của việc PyInstaller gộp ứng dụng Python của bạn thành một tệp thực thi độc lập

  6. Nhấp vào X ở trên cùng bên phải để quay lại giao diện chính của Blue Ocean, trong đó liệt kê các hoạt động Đường ống trước đó của bạn theo thứ tự thời gian đảo ngược

Theo dõi [tùy chọn]

Nếu sử dụng Linux, bạn có thể thử chạy ứng dụng

docker run \
  --name jenkins-docker \[1]
  --rm \[2]
  --detach \[3]
  --privileged \[4]
  --network jenkins \[5]
  --network-alias docker \[6]
  --env DOCKER_TLS_CERTDIR=/certs \[7]
  --volume jenkins-docker-certs:/certs/client \[8]
  --volume jenkins-data:/var/jenkins_home \[9]
  --publish 2376:2376 \[10]
  --publish 3000:3000 --publish 5000:5000 \[11]
  docker:dind \[12]
  --storage-driver overlay2 [13]
63 độc lập mà bạn đã tạo cục bộ bằng PyInstaller trên máy của mình. Để làm điều này

  1. Từ giao diện chính của Blue Ocean, hãy truy cập vào lần chạy Đường ống cuối cùng mà bạn đã thực hiện. Để thực hiện việc này, hãy nhấp vào hàng trên cùng [đại diện cho lần chạy Quy trình gần đây nhất] trên trang Hoạt động chính của Đại dương xanh

  2. Trên trang kết quả của quá trình chạy Đường ống, nhấp vào Hiện vật ở trên cùng bên phải để truy cập trang Hiện vật

  3. Trong danh sách tạo phẩm, hãy nhấp vào biểu tượng mũi tên xuống ở ngoài cùng bên phải của mục tạo tác dist/add2vals để tải xuống tệp thực thi độc lập vào thư mục "Tải xuống" của trình duyệt của bạn

  4. Quay lại lời nhắc thiết bị đầu cuối của hệ điều hành của bạn,

    FROM jenkins/jenkins:2.375.2
    USER root
    RUN apt-get update && apt-get install -y lsb-release
    RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
      //download.docker.com/linux/debian/gpg
    RUN echo "deb [arch=$[dpkg --print-architecture] \
      signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
      //download.docker.com/linux/debian \
      $[lsb_release -cs] stable" > /etc/apt/sources.list.d/docker.list
    RUN apt-get update && apt-get install -y docker-ce-cli
    USER jenkins
    RUN jenkins-plugin-cli --plugins "blueocean docker-workflow"
    5 đến thư mục "Tải xuống" của trình duyệt của bạn

  5. Làm cho tệp

    docker run \
      --name jenkins-docker \[1]
      --rm \[2]
      --detach \[3]
      --privileged \[4]
      --network jenkins \[5]
      --network-alias docker \[6]
      --env DOCKER_TLS_CERTDIR=/certs \[7]
      --volume jenkins-docker-certs:/certs/client \[8]
      --volume jenkins-data:/var/jenkins_home \[9]
      --publish 2376:2376 \[10]
      --publish 3000:3000 --publish 5000:5000 \[11]
      docker:dind \[12]
      --storage-driver overlay2 [13]
    63 có thể thực thi được - i. e.
    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    19

  6. Chạy lệnh

    docker 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 3000:3000 --publish 5000:5000 --publish 2376:2376 \
      docker:dind --storage-driver overlay2
    20 và làm theo hướng dẫn do ứng dụng của bạn cung cấp

kết thúc

Tốt lắm. Bạn vừa sử dụng Jenkins để xây dựng một ứng dụng Python đơn giản

Các giai đoạn "Xây dựng", "Thử nghiệm" và "Phân phối" mà bạn đã tạo ở trên là cơ sở để xây dựng các ứng dụng Python phức tạp hơn trong Jenkins, cũng như các ứng dụng Python tích hợp với các ngăn xếp công nghệ khác

Bởi vì Jenkins cực kỳ có thể mở rộng, nên nó có thể được sửa đổi và định cấu hình để xử lý thực tế mọi khía cạnh của việc điều phối và tự động hóa bản dựng

Để tìm hiểu thêm về những gì Jenkins có thể làm, hãy xem

  • Trang tổng quan về Hướng dẫn cho các hướng dẫn giới thiệu khác

  • Sổ tay Người dùng để biết thêm thông tin chi tiết về cách sử dụng Jenkins, chẳng hạn như Đường ống [cụ thể là cú pháp Đường ống] và giao diện Blue Ocean

  • Blog Jenkins cho các sự kiện mới nhất, các hướng dẫn và cập nhật khác

Vui lòng gửi phản hồi của bạn về trang này thông qua biểu mẫu nhanh này

Ngoài ra, nếu bạn không muốn hoàn thành biểu mẫu nhanh, bạn chỉ cần cho biết trang này có hữu ích không?

Chủ Đề