iT邦幫忙

1

請教 CI CD 自動部署 初學者入門辦法

ci cd
  • 分享至 

  • xImage

各位大大好!

目前小弟我是一個網頁工程師,工作內容,前端、後端、資料庫、GIT、寫文件都會碰到,所以都不是很常專精

開發環境不是使用Docker

最近需要碰到有關於伺服器的部分,把寫好的網站部署 (目前公司是用IIS,但持續更新而已,所以如果有時間再學習伺服器方面,目前自己是有在學習 AWS EC2 架 LAMP)

目前部署的工作流程

登入 server ,把程式上傳上去(因為持續更新,所以可能會跟線上的資料做比對),這過程可能會有一些加密或是其他的處裡,最近也在學寫測試,希望可以讓我的系統可以越來越穩。

因為想加入測試以及自動部署持續交付,所以想要想辦法可以自動化就自動化。

想請教各位前輩,我可以從哪邊開始改善這個上架流程

上網查到資料,好像蠻多都使用 Jenkins

但又看到有一個線上課程 Docker 以及 Drone 部署 但是使用GO語言

我是不排斥學習其他語言,所以也有想要直接買那個線上課程。

未來是想往 PHP 後端工程師的方向去找工作

哈哈我是不知道學習其他語言,對未來有沒有幫助,目前這份是我的第一份工作。

也歡迎各位大大給我意見。CI CD 不是很熟,如果有表達不清楚的請各位大大見諒

----------------補充2019/07/01 14:08---------------

目前 server 是業主自己購入的主機,git Server 版本控制是公司自己架的非 github 、gitlab 或其他常見的 Server。

如果是自己的作品,放在github 以及 AWS 沒關係,但公司目前如上所述,都是自己架Server。

froce iT邦大師 1 級 ‧ 2019-07-01 15:08:04 檢舉
自己的主機通常都用 Jenkins。
Victor iT邦新手 2 級 ‧ 2019-07-02 09:15:20 檢舉
感謝 froce!我再去研究一下Jenkins
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
跑得快
iT邦新手 3 級 ‧ 2019-07-01 14:04:21
最佳解答

我這邊是採用bitbucket的pipeline上傳建置

一般常見有利用github 將你local端的code git push到github(lab)上
github偵測到後,你有設置CICD與AWS連動,他便會部署到指定的機器上去
這部分較多的文件與yaml檔相關

詳細可以參考
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli-codecommit.html

看更多先前的回應...收起先前的回應...
Victor iT邦新手 2 級 ‧ 2019-07-01 14:08:13 檢舉

跑得快大大好! 謝謝你的回答!想請教 git server 如果要導入自動化的流程,是都只能用github、gitlab 或bitbucket 嗎? 我自己做的作品是還好!但公司的東西,目前是有自己的git server 伺服器也是業主自己購入的機器。

跑得快 iT邦新手 3 級 ‧ 2019-07-01 16:32:46 檢舉

VictorW你好
如果對code的隱私有concern的話
github有付費的線上限定會員自己私用repo
不過既然有公司機器,有沒有考慮使用在公司機器上建置gitlab管控和push完成自動化流程

另外如同froce大建議的,是可以考慮使用Jenkins的,並不一定只受限於github gitlab與bitbucket

Victor iT邦新手 2 級 ‧ 2019-07-02 09:29:20 檢舉

跑得快好喔!謝謝大大 我再去研究一下Jenkins,想再請教幾個問題,流程是不是沒有固定一定要怎麼做,但基本上是 git push 到Server ,當分支develop 或 master 改變後接下來要執行測試或是部署到 測試/正式環境的流程要再依照需求設計,是Jenkins 可以幫助我們完成,是這樣的意思嗎?
上網查到還有例如 code review 的請求,決定是不是要merge這些是 Git Server 上完成嗎?
建置Gitlab 是已經包含 可以觸發測試及部署的流程嗎?所以不需要Jenkins?

跑得快 iT邦新手 3 級 ‧ 2019-07-02 09:39:06 檢舉

開發測試的話工程師通常還是會自己採用Jenkins
管理、推送部署等則交由Gitlab,可能要看你們開發的流程習慣怎樣XD
像我們工程師如果不用自己動手上傳code建置環境最開心,只要設置一個分支repo並將auto deploy測試機對應給他,就可以快速看到開發結果。
最終主管或組長在commit code到主幹對應到主機。

Victor iT邦新手 2 級 ‧ 2019-07-02 14:45:44 檢舉

了解! 我在研究一下~ 感謝

我要發表回答

立即登入回答