Jenkins CI/CD 容器
以 Ubuntu 16.04 為基底,安裝 Jenkins 2.73.1 的 Docker 容器,用於建置持續整合 / 持續部署流程。
Dockerfile
FROM ubuntu:16.04
ENV JENKINS_VERSION jenkins_2.73.1_all.deb
RUN apt-get update
RUN apt-get -y install \
openjdk-8-jre-headless \
net-tools \
daemon \
psmisc \
wget
RUN wget https://pkg.jenkins.io/debian-stable/binary/"$JENKINS_VERSION"
RUN dpkg -i "$JENKINS_VERSION"
COPY docker-entrypoint.sh /usr/local/bin/
RUN ln -s usr/local/bin/docker-entrypoint.sh /entrypoint.sh
ENTRYPOINT sh entrypoint.sh && bash
EXPOSE 8080
進入點腳本
docker-entrypoint.sh 只負責啟動 Jenkins 服務:
#!/bin/bash
service jenkins start
建置與執行
# 建置映像
docker build -t jenkins-ci:2.73.1 .
# 啟動容器(Jenkins Web UI 在 8080)
docker run -d -p 8080:8080 --name jenkins jenkins-ci:2.73.1
# 取得初始管理員密碼
docker exec jenkins cat /var/lib/jenkins/secrets/initialAdminPassword
首次登入後在 http://localhost:8080 完成安裝精靈,即可開始建立 Job 或 Pipeline。
說明
- 使用 OpenJDK 8 headless,映像體積較小
daemon與psmisc是 Jenkins Debian 套件的執行期依賴- Jenkins 版本鎖在
JENKINS_VERSION環境變數,要換版本改這一行即可
相關資源
← 回到 DevOps