資安

在阿里雲Centos7上利用docker搭建Jenkins來自動化部署Django項目

原文轉載:https://www.vpssw.com/84.html

一般情況下,將一個項目部署到生產環境的流程如下:

    需求分析—原型設計—開發代碼—內網部署-提交測試—確認上線—備份數據—外網更新-最終測試,如果發現外網部署的代碼有異常,需要及時回滾。

    整個過程相當複雜而漫長,其中還需要輸入不少的命令,比如上傳代碼,git的拉取或者合併分支等等。

    Jenkins是目前非常流行的一款持續集成工具,可以幫助大家把更新後的代碼自動部署到服務器(這裡總結了一份詳細的阿里雲服務器入門操作教程:阿里雲服務器購買操作完整步驟(圖文))上運行,整個流程非常自動化,你可以理解為部署命令操作的可視化界面。

    Jenkins主要有三種安裝方式

    下載官方war包,放到tomcat中直接運行。
    yum安裝。
    使用官方docker鏡像。

    毫無疑問,既然有docker這麼簡單方便的工具,就沒必要選擇前兩種複雜的安裝方式了。

    首先安裝docker

centos 安裝docker
1 docker 要求 CentOS 系統的內核版本高於 3.10 ,查看本頁面的前提條件來驗證你的CentOS 版本是否支持 Docker 
2、使用 root 權限登錄 Centos。確保 yum 包更新到最新。
sudo yum update
3、卸載舊版本(如果安裝過舊版本的話)
sudo yum remove docker  docker-common docker-selinux docker-engine
4、安裝需要的軟件包, yum-util 提供yum-config-manager功能,另外兩個是devicemapper驅動依賴的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
5、設置yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6、可以查看所有倉庫中所有docker版本,並選擇特定版本安裝
 yum list docker-ce --showduplicates | sort -r
7、安裝docker
sudo yum install docker-ce 
8、啟動並加入開機啟動
sudo systemctl start docker
sudo systemctl enable docker
9、驗證安裝是否成功(有client和service兩部分表示docker安裝啟動都成功了)
docker version

然後下載jenkins官方docker鏡像

docker pull jenkins/jenkins

查看鏡像 docker images

在主機上創建目錄,並添加讀寫權限以便jenkins應用運行時讀寫文件

mkdir /root/j_node
chmod 777 /root/j_node

後臺將鏡像以容器的形式起服務,對端口映射,同時把剛剛建立的目錄掛載到容器中

docker run -d --name jenkins -p 8081:8080 -p 50000:50000 -v /root/j_node:/var/jenkins_home jenkins/jenkins

這裡注意,如果是阿里雲的話,安全策略需要暴露8081端口

通過網址訪問 http://你的ip:8081

然後通過命令獲取安裝祕鑰

docker logs jenkins

有了密碼,輸入後安裝建議的插件,推薦的插件裡就包含版本控制軟件git。

完畢後,根據提示設置登陸賬戶

然後新建一個項目,在源代碼控制那一欄,輸入你的項目的線上git倉庫地址,注意默認應該是master分支,因為生產環境部署的代碼必須是主分支

保存後,點擊Build Now進行部署,jenkins會自動去git版本庫中抽取最新的master分支進行部署,同時每部署一次的歷史記錄都會被保存下來

此時,進入/root/j\_node 目錄下 發現項目已經部署在了workspace目錄下

整個過程非常簡單,每次上線之前,項目經理只需要檢查各個組員的代碼,然後統一合併到主分支master,最後進入jenkins點擊部署按鈕即可,節約了不少時間。

Leave a Reply

Your email address will not be published. Required fields are marked *