通過上一個專題GitLab-Cicd
我們已經介紹了, 在DIX
DevOps流程中的自動觸發pipeline
過程, 下面這一個專題系列, 我們將重點介紹第二個環節, 自動部署
背景
進入這個專題系列, 我們將重點闡述下圖中第二部分
聲明: 在本文以及本系列文中, 不會涉及公司內部相關內容,旨在能幫助到努力前進的人
在閱讀本系列之前, 希望您能掌握一定的Python
、Linux
、Shell
知識
首先說一下, 技術選型, 作爲一個程序猿, 總是會對新的知識有着一種想要征服的慾望, 所以我們技術大拿在選型的時候, 說我們要選Python
體系, 也就是說一些任務腳本, 都會用python來編寫, 那麼就先確定了python
, 至於爲什麼選用Ansible
是因爲沒有人用這個東西(Jenkins
使用羣體佔比重大一點), 但是看了官方文檔之後覺得這個東西不錯, 所以一開始暫時定的Ansible
當我接收到這個需求之後, 我開始上BaiDu、Google
搜索關於自動化部署的資料, 看到好多自動部署的方案是選用Jenkins+Ansible
還有人稱之爲雙劍合璧
, 但是我其實關心的重心在於Ansible
, 但是在逐漸摸索的過程中發現了端倪.
大家爲什麼說Jenkins+ansible
是雙劍合璧, 首先Jenkins有着強大的API可以供外部觸發任務, 同時它也有很強的任務分發能力. 然後在加上Ansible
(自動部署) , 在我研究Ansible
過程中發現一個Jenkins的替代品Ansible-Tower
是官方自己在維護的, 所以在某些時候會比Jenkins更加合適.
所以在探索的過程中定下了方案:
- Ansible-Tower: 用來進行任務的分發, 管理
- Ansible: 執行具體的部署操作
方案是定好了, 但是------------嗨呀
有效的資料少的可憐,這個環節也是消耗我最多時間的部分. 所以希望我這個資料能幫助到後續的人吧
介紹
上面噼裏啪啦說半天, 這個Ansible
到底是個什麼?