Asp.net Core 使用Jenkins + Dockor 實現持續整合、自動化部署(一):Jenkins安裝
阿新 • • 發佈:2018-11-30
寫在前面
其實園子裡很多大佬都寫過,我也是一個搬運工很多東西不是原創的,不過還是想把自己安裝的過程,記錄下來如果能幫到大家的忙,也是一件功德無量的事;
執行環境
centos:7.2
cpu:1核 2G記憶體 1M頻寬
其實用的騰訊雲
安裝jenkins
這裡的jenkins就不從docker hub裡面直接pull映象安裝了,為什麼呢,我這裡引用大佬的原話:
首先不直接從Docker Store上直接Pull Jenkins 的 Image 檔案,因為待會需要進行dotnet core 的 Docker自動部署,需要對宿主機上的Docker進行直接操作,那麼需要掛載 Docker 給 Jenkins Image,所以現在需要自己動手編寫 Dockerfile 構建自定義的Jenkins。
1、構建自定義的Dockerfile
# touch Dockerfile
# vim Dockerfile
輸入以下內容:
FROM jenkins USER root #清除了基礎映象設定的源,切換成騰訊雲的jessie源 #使用非騰訊雲環境的需要將 tencentyun 改為 aliyun RUN echo '' > /etc/apt/sources.list.d/jessie-backports.list \ && echo "deb http://mirrors.tencentyun.com/debian jessie main contrib non-free" > /etc/apt/sources.list \ && echo "deb http://mirrors.tencentyun.com/debian jessie-updates main contrib non-free" >> /etc/apt/sources.list \ && echo "deb http://mirrors.tencentyun.com/debian-security jessie/updates main contrib non-free" >> /etc/apt/sources.list #更新源並安裝缺少的包 RUN apt-get update && apt-get install -y libltdl7 && apt-get update ARG dockerGid=999 RUN echo "docker:x:${dockerGid}:jenkins" >> /etc/group # 安裝 docker-compose 因為等下構建環境的需要 RUN curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose RUN chmod +x /usr/local/bin/docker-compose
2、build映象
docker build . -t auto-jenkins
看到Successfully 莫名的心情愉悅。這就代表構建成功了;
3、建立jenkins專案檔案的掛載目錄
mkdir -p /var/jenkins_home
4、修改目錄許可權
這一步必不可少!會導致許可權不足報錯
chown -R 1000 /var/jenkins_home
5、run我們自定義jenkins映象 auto-jenkins
這裡我用7080作為對外的jenkins ip(因為我的8080被佔用了)
docker run --name jenkins -p 7080:8080 -p 50000:50000 \ -v /var/run/docker.sock:/var/run/docker.sock \ -v $(which docker):/bin/docker \ -v /var/jenkins_home:/var/jenkins_home \ -d auto-jenkins
run之後使用docker ps
檢視執行中的容器,如看到如下圖,表示jenkins已正常啟動:
6、完成jenkins安裝
這裡需要安裝密碼,證明這是你的伺服器,進入容器:
docker exec -it jenkins /bin/bash
cat /var/jenkins_home/secrets/initialAdminPassword
複製密碼填好,點選繼續;
如圖,點選Install suggested plugins,安裝jenkins常用外掛
安裝完畢後:
來到這裡,其實安裝結束了,填寫完管理員資訊後,開始你的自動化部署之旅吧!
接下來,請繼續看我的另一篇文章 Asp.net Core 使用Jenkins + Dockor 實現持續整合、自動化部署(二):部署