<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Deploy4s自動化部署組件

          聯(lián)合創(chuàng)作 · 2023-10-01 13:44

          Deploy4s - A deploy tool for simple, standard, stable and stupid

          About

          參考AWS CodeDeploy的自動化部署服務(wù),抽取其中標(biāo)準(zhǔn)化本地部署功能的一個組件。AWS CodeDeploy User Guide.

          • Deploy是一個自動化部署組件,能夠讓用戶方便快速地將應(yīng)用自動部署到目標(biāo)機器上。通過部署流程的標(biāo)準(zhǔn)化和自動化,加快部署的速度,控制部署節(jié)奏,降低應(yīng)用升級更新的復(fù)雜度,減少手工部署操作的錯誤和風(fēng)險。最終使得用戶能夠在快速地發(fā)布新特性的同時保證部署的質(zhì)量,避免部署過程中的服務(wù)中斷。

          • 傳統(tǒng)應(yīng)用代碼和部署腳本是分離的,基于很多不同的部署工具開發(fā),如Chef,Puppet,Ansible,或者開發(fā)人員自己寫的Shell,Python部署腳本。隨著DevOps理念的興起,消除Dev和Ops之間的鴻溝,系統(tǒng)的開發(fā)和運維由一個自治團(tuán)隊全權(quán)負(fù)責(zé),所以將代碼與部署放在一起就非常自然,統(tǒng)一Dev和Ops的目標(biāo)和部署。另外,將應(yīng)用代碼與部署腳本一體化,也簡化了代碼和部署腳本的管理,避免代碼版本與部署腳本版本需要對應(yīng)的問題。其實,這種設(shè)計也簡化了用戶的使用過程,不需要額外再做部署腳本版本的管理了。

          • Deploy定義了一個基于事件部署流程接口,在接口定義中,定義多個部署文件拷貝源目標(biāo)部署映射(files->source->destination),以及部署中各個步驟及步驟之間的執(zhí)行順序(ApplicationStop->BeforeInstall->Install->AfterInstall->ApplicationStart-> ValidateService),各個步驟要執(zhí)行的腳本。

          • Deploy僅處理代碼部署問題,并不處理應(yīng)用配置管理,資源管理,環(huán)境管理以及之后的監(jiān)控和恢復(fù),伸縮等環(huán)節(jié),用戶想要實現(xiàn)系統(tǒng)的持續(xù)自動化部署,仍然需要自行集成開發(fā),比如需要自行實現(xiàn)應(yīng)用新版本的打包和上傳,之后通過Deploy提供的相應(yīng)API接口以及CLI將其集成到自己的開發(fā)流程,實現(xiàn)持續(xù)交付。

          Requirements

          • Python

          • PyYAML

          Install

          下載最新的Release包,通過pip命令安裝:

          pip install deploy-0.0.1.zip

          或者通過下載源碼包或clone代碼至本地,然后通過如下命令安裝:

          python setup.py install

          Usage

          deploycli --bundle=http://server/example.zip

          使用--help查看更多使用幫助。
          --bundle參數(shù)指定zip包的路徑,可以是本地文件路徑也可以是HTTP地址。

          Release

          Limit

          與標(biāo)準(zhǔn)的AWS CodeDeploy相比,appspec.yml文件需要新增一個workdir參數(shù),用于指定hooks中命令的執(zhí)行Current Working Directory,其他參數(shù)配置可參考AWS CodeDeploy。

          Example

          一個示例的appspec.yml文件如下所示:

          version: 0.0
          os: linux
          workdir: /app
          files:
            - source: /
              destination: /app
          hooks:
            ApplicationStart:
              - location: bin/start.sh
            ApplicationStop:
              - location: bin/stop.sh
            BeforeInstall:
              - location: bin/backup.sh
            AfterInstall:
              - location: chmod a+x bin -R

          將該文件與待部署文件一起打成zip包(appspec.yml文件必須位于zip包頂層),將該zip包上傳至HTTP server或待部署機器本地。 在服務(wù)運行的機器上執(zhí)行如下命令,即可將部署zip包文件部署到機器上,并停止、啟動服務(wù)(與hooks中配置相關(guān)):

          deploycli --bundle=http://server/example.zip

           

          瀏覽 31
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  午夜性色 | 欧美国产操逼视频 | 翔田千里成人在线 | 亚洲日产AV一二三四区小说 | 亚洲男女激情网站 |