精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何使用Ansible同步GitHub和GitLab

運維 系統運維 開源
通過使用 Ansible 鏡像 Git 存儲庫,保護對重要項目的訪問。如果在過去的幾十年中互聯網教給了我們一些東西,那就是依靠互聯網神奇地創建備份并不是冗余的最可靠途徑。

如何使用Ansible同步GitHub和GitLab

通過使用 Ansible 鏡像 Git 存儲庫,保護對重要項目的訪問。

開源無處不在。它在家里的計算機上、在工作場所的計算機上、在互聯網上,并且很多都由 Git 管理。由于 Git 是分布式的,因此許多人也將其視為一種眾包的備份解決方案。從理論上講,每當有人將 Git 存儲庫克隆到其本地計算機時,他們就創建了該項目源代碼的備份。如果有 100 個人這樣做,則存儲庫就有 100 個備份副本。

從理論上講,這可以緩解“災難”的影響,例如當項目維護者突然決定刪除存儲庫莫名其妙地阻止所有流量,導致開發人員們無頭蒼蠅般地尋找誰擁有主分支的最新版本。類似的,整個代碼托管站點也會消失。沒有人會想到 Google Code、Microsoft CodePlex 或 Gitorious 會在鼎盛時期將被關閉。

簡而言之,如果在過去的幾十年中互聯網教給了我們一些東西,那就是依靠互聯網神奇地創建備份并不是冗余的最可靠途徑。

此外,對于許多人來說,很多開源項目都托管在 GitHub 上是個問題 —— GitHub 并不是開放平臺。許多開發人員和用戶都希望支持諸如 GitLab 之類的堆棧并與之交互,它具有開源社區版本。

使用 Ansible 管理 Git

Git 的去中心方式對于解決這個問題很有用。使用純 Git,你可以使用一個 push 命令輕松地將其推到兩個或多個存儲庫。但是,為了使其在發生意外故障時有用,你必須經常與 Git 存儲庫進行交互(特別是推送)。此外,即使你可能永遠不會自己推送或拉出代碼,也可能有一些要備份的存儲庫。

但是,使用 Ansible,你可以自動執行項目主分支(或其他任何分支)的 Git 拉取,然后自動進行存儲庫到“異地”鏡像的 Git 推送。換句話說,你可以讓你的計算機定期從 GitHub 拉取并推送到 GitLab 或 Gitolite 或 Gitea(或你喜歡的任何 Git 托管主機)。

Ansible 模塊

如果不是因其出色的模塊集合,那么 Ansible 就沒那么出色。像 Python 的第三方庫或 Linux 的應用程序一樣,這個技術引擎的一個有用而令人驚訝的簡單技巧是,Ansible 以其他人貢獻的組件而聞名。因為本文正在研究如何有效和可靠地備份 Git 存儲庫,所以這里使用的模塊是 Git 模塊ini_file 模塊。

首先,創建一個名為 mirror.yaml 的文件作為劇本playbook。你可以像通常使用 Ansible 一樣,從 nametask 條目開始。本示例將 localhost 添加到 hosts 列表中,以便在控制器計算機(你現在坐在前面的計算機)上運行動作play,但是在現實生活中,你可能會在特定的主機或一組網絡上的主機上運行它。

  1. ---
  2. - name: "Mirror a Git repo with Ansible"
  3. hosts: localhost
  4. tasks:

Git 拉取和克隆

如果要進行備份,則需要最新代碼的副本。明顯,在 Git 倉庫中實現這一目標的方法是執行 git pull。 但是,pull 會假定克隆已經存在,而寫得很好的 Ansible 動作(Ansible 腳本)則盡可能少的假定。最好告訴 Ansible 先克隆存儲庫。

將你的第一個任務添加到劇本:

  1. ---
  2. - name: "Mirror a Git repo with Ansible"
  3. hosts: localhost
  4. vars:
  5. git_dir: /tmp/soso.git
  6. tasks:
  7.  
  8. - name: "Clone the git repo"
  9. git:
  10. repo: 'https://github.com/ozkl/soso.git'
  11. dest: '{{ git_dir }}'
  12. clone: yes
  13. update: yes

這個例子使用了開源的、類似于 Unix 的操作系統 soso 作為我要鏡像的存儲庫。這是一個完全任意的選擇,絕不意味著我對該存儲庫的未來缺乏信心。它還使用變量來引用目標文件夾 /tmp/soso.git,這很方便,并且如果以后你希望將它擴展為一個通用的鏡像腳本也會受益。在現實生活中,你的工作機上可能會比 /tmp 具有更永久的位置,例如 /home/gitmirrors/soso.git/opt/gitmirrors/soso.git

運行你的劇本:

  1. $ ansible-playbook mirror.yaml

首次運行該劇本時,Ansible 會正確檢測到 Git 存儲庫在本地尚不存在,因此將其克隆。

  1. PLAY [Ansible Git mirror] ********
  2.  
  3. TASK [Gathering Facts] ***********
  4. ok: [localhost]
  5.  
  6. TASK [Clone git repo] ************
  7. changed: [localhost]
  8.  
  9. PLAY RECAP ***********************
  10. localhost: ok=2 changed=1 failed=0 [...]

如果你再次運行該劇本,Ansible 會正確檢測到自上次運行以來沒有任何更改,并且會報告未執行任何操作:

  1. localhost: ok=2 changed=0 failed=0 [...]

接下來,必須指示 Ansible 將存儲庫推送到另一個 Git 服務器。

Git 推送

Ansible 中的 Git 模塊不提供 push 功能,因此該過程的一部分是手動的。但是,在將存儲庫推送到備用鏡像之前,你必須具有一個鏡像,并且必須將鏡像配置為備用遠程服務器remote

首先,必須將備用的遠程服務器添加到 Git 配置。因為 Git 配置文件是 INI 樣式的配置,所以你可以使用 ini_file Ansible 模塊輕松地添加所需的信息。將此添加到你的劇本:

  1. - name: "Add alternate remote"
  2. ini_file: dest={{ git_dir }}/.git/config section='remote \"mirrored\"' option=url value='git@gitlab.com:example/soso-mirror.git'
  3. tags: configuration

為此,你必須在目標服務器上有一個空的存儲庫(在本例中為 GitLab.com)。如果需要在劇本中創建目標存儲庫,可以按照 Steve Ovens 的出色文章《如何使用 Ansible 通過 SSH 設置 Git 服務器》來完成。

最后,直接使用 Git 將 HEAD 推送到備用遠程服務器:

  1. - name: "Push the repo to alternate remote"
  2. shell: 'git --verbose --git-dir={{ git_dir }}/.git push mirrored HEAD'

像往常一樣運行該劇本,然后使該過程自動化,這樣你就不必再次直接運行它了。你可以使用變量和特定的 Git 命令來調整腳本以適應你的需求,但是通過常規的拉取和推送操作,可以確保駐留在一臺服務器上的重要項目可以安全地鏡像到另一臺服務器上。

這是完整的劇本,供參考:

  1. ---
  2. - name: "Mirror a Git repository with Ansible"
  3. hosts: localhost
  4. vars:
  5. git_dir: /tmp/soso.git
  6.  
  7. tasks:
  8.  
  9. - name: "Clone the Git repo"
  10. git:
  11. repo: 'https://github.com/ozkl/soso.git'
  12. dest: '{{ git_dir }}'
  13. clone: yes
  14. update: yes
  15.  
  16. - name: "Add alternate remote"
  17. ini_file: dest={{ git_dir }}/.git/config section='remote \"mirrored\"' option=url value='git@gitlab.com:example/soso-mirror.git'
  18. tags: configuration
  19. - name: "Push the repo to alternate remote"
  20. shell: 'git --verbose --git-dir={{ git_dir }}/.git push mirrored HEAD'

 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2018-03-24 20:27:58

GitHub代碼開發者

2022-07-29 15:19:27

Dockersudo權限

2020-01-02 10:44:22

運維架構技術

2020-10-10 20:30:05

Ansible自動化工具系統運維

2021-10-14 09:55:28

AnsibleanacronLinux

2022-11-22 13:00:38

2021-05-13 21:21:50

React應用GitHub

2023-02-10 13:39:11

大裁員GitHub團隊

2016-10-17 13:33:26

原子主機AnsibleCockpit

2022-11-23 14:13:03

Ansible條件判斷

2024-02-28 07:50:06

代碼管理工具開發

2016-10-24 09:09:48

AnsibleVagrantFedora

2021-06-02 21:13:44

Github配置項目

2018-04-16 13:56:31

GitHubPythonFlask

2024-02-20 08:08:43

2020-09-01 20:53:26

DocsifyGitHub Page文檔網站

2023-12-11 18:15:46

AnsibleMinikubeKubernetes

2016-10-18 21:10:17

GitHubBitbucketGitLab

2020-04-16 08:00:00

Ansible Vau敏感數據加密

2018-02-27 09:00:00

UbuntuGitGithub
點贊
收藏

51CTO技術棧公眾號

日本在线视频免费观看| 在线免费看污网站| 高清在线观看av| 麻豆精品国产传媒mv男同| 久久天天做天天爱综合色| 在线观看日韩av| 黄色av免费在线播放| 麻豆视频在线免费观看| 不卡的看片网站| 国产精品久久久久久久久久ktv| 中日韩一级黄色片| 欧美男男freegayvideosroom| 色av一区二区| 玖玖精品在线视频| 日韩福利一区二区| 欧美日韩国产色综合一二三四| 亚洲国产精品人人爽夜夜爽| 中文字幕无码不卡免费视频| av网站大全在线| 日韩高清在线一区| 色综合天天综合网国产成人网| www.色天使| heyzo高清中文字幕在线| 久久久精品黄色| 操一操视频一区| 久久国产香蕉视频| 欧美日韩爱爱| 欧美成人a视频| 黄大色黄女片18第一次| 成人亚洲综合天堂| 成人午夜在线播放| 成人免费午夜电影| 波多野结衣电车痴汉| 在线欧美一区| 久久伊人免费视频| 亚洲精品国产精品国自| 亚洲第一论坛sis| 五月婷婷色综合| 国产免费xxx| 粉嫩一区二区三区国产精品| 99视频在线精品| caoporen国产精品| 国产又粗又猛又黄又爽无遮挡| 香蕉久久夜色精品国产| 午夜精品久久久久久久99热 | 国产日产精品1区| 91国内精品久久| 九九热最新地址| 久久中文字幕av一区二区不卡| 精品视频在线观看日韩| 国产精品入口麻豆| 97se亚洲| 精品久久久精品| 精品一二三四五区| 亚洲91av| 亚洲一区二区三区在线| 欧美大片免费播放| fc2ppv国产精品久久| 亚洲欧洲精品一区二区三区不卡| 欧美日韩三区四区| 欧美日韩免费做爰大片| 97超碰欧美中文字幕| 国产成人精品久久二区二区| 粉嫩aⅴ一区二区三区| 亚洲国产1区| 色在人av网站天堂精品| 黄色一级视频免费| 韩国在线视频一区| 久久免费观看视频| 国产午夜免费视频| 色综合综合网| 亚洲天堂成人在线| 香蕉久久久久久久| 五月开心六月丁香综合色啪| 久久福利视频导航| 少妇伦子伦精品无吗| 91嫩草精品| 日韩av在线免费看| 丰腴饱满的极品熟妇| 久久久久久久性潮| 欧美日韩精品一区二区天天拍小说 | 日产精品久久久一区二区福利| 五月婷婷中文字幕| 日本欧美在线观看| 91在线网站视频| 亚洲AV无码一区二区三区性| 成人av资源站| 你懂的视频在线一区二区| 99re在线视频| 亚洲精品免费视频| 高清在线观看免费| jizz亚洲女人高潮大叫| 91精品在线免费观看| av动漫在线观看| 91精选在线| 亚洲福利一区二区| 日韩欧美在线免费观看视频| 白嫩亚洲一区二区三区| 亚洲国产另类久久精品| 一区二区三区四区免费| 亚洲精品2区| 69影院欧美专区视频| 中文字幕在线视频第一页| 国产成人在线视频网站| 日韩av一区二区三区在线| 二区在线播放| 一本色道久久综合亚洲aⅴ蜜桃| 一区二区三区 日韩| 91综合久久爱com| 色偷偷888欧美精品久久久| 久久久久久久久久久久久久久久久| 午夜一级久久| 999在线免费观看视频| 国产一级网站视频在线| 夜夜精品视频一区二区| 特级黄色录像片| 成人影院入口| 欧美色视频日本高清在线观看| 在线免费观看av的网站| 精品自拍偷拍| 亚洲国产精品成人va在线观看| 成年人看片网站| 欧美日韩久久精品| 97久久精品国产| 99热精品在线播放| 日本一区二区三区四区| 免费看国产曰批40分钟| 精品国产伦一区二区三区观看说明 | 亚洲精品高清在线| 国产又粗又长又大的视频| 久草在线中文最新视频| 91精品在线麻豆| 9.1片黄在线观看| 久久亚洲图片| 日韩美女视频免费看| 亚洲va久久久噜噜噜无码久久| 国产精品视频一二三区| 国内外免费激情视频| 噜噜噜狠狠夜夜躁精品仙踪林| 欧美xxxx综合视频| 国产欧美熟妇另类久久久| 国产精品久久精品日日| 欧美三级午夜理伦三级| 精品视频高潮| 国内精品模特av私拍在线观看| 国产视频aaa| 中文字幕综合网| 成年人三级黄色片| 久久精品国产大片免费观看| 国产精品jizz在线观看麻豆| 日av在线播放| 一本色道亚洲精品aⅴ| 亚洲自拍偷拍一区二区| 久热精品在线| 色阁综合av| jizz欧美| 久久久www成人免费精品张筱雨| 少妇无套内谢久久久久| 国产精品麻豆网站| 视频免费1区二区三区| 希岛爱理一区二区三区| 亚洲一区二区三区视频播放| 国产精品一卡二卡三卡 | 五月婷婷丁香综合网| 第九色区aⅴ天堂久久香| 国产精品一区二区三区久久| 婷婷激情在线| 日韩欧美激情一区| 久久久全国免费视频| 懂色一区二区三区免费观看| 精品国偷自产一区二区三区| 涩涩网在线视频| 亚洲欧美三级伦理| 中文字幕乱码人妻无码久久| 中文字幕在线不卡| 久久人妻少妇嫩草av蜜桃| 欧美日韩国产一区二区三区不卡| 国产成人精品综合| 日本高清在线观看wwwww色| 欧美一区二区视频免费观看| 久久黄色免费视频| 91视视频在线观看入口直接观看www| 国产又黄又大又粗视频| 大色综合视频网站在线播放| 91久久伊人青青碰碰婷婷| 黄在线观看免费网站ktv| 亚洲欧洲高清在线| 国产精品午夜福利| 精品国产999| 精品一区二区6| 懂色av一区二区三区免费看| 日韩av黄色网址| 四虎成人av| 国产美女精品久久久| 日韩在线免费| 亚洲国产三级网| 久久午夜鲁丝片| 一区二区三区成人| 国内精品卡一卡二卡三| 国产精品亚洲成人| 久久久久久香蕉| 黄色成人91| 日本一区二区三区视频在线播放 | 成人国产免费电影| 日韩av在线网页| 国产免费久久久| 色乱码一区二区三区88| 激情五月婷婷小说| 国产精品三级电影| 欧洲一级黄色片| 国产河南妇女毛片精品久久久| 四虎永久在线精品无码视频| 欧美日韩岛国| 天堂v在线视频| 日日夜夜综合| 中国日韩欧美久久久久久久久| 精品国产无码AV| 欧美在线你懂得| 日本一二三区不卡| 亚洲人亚洲人成电影网站色| 性少妇bbw张开| 成人性生交大合| 成年人网站av| 麻豆成人免费电影| 成年人免费大片| 麻豆精品网站| 欧洲精品一区二区三区久久| 51精产品一区一区三区| 亚欧洲精品在线视频免费观看| 免费成人蒂法| 国产欧美一区二区三区另类精品| 国产精品777777在线播放| 国产精品吴梦梦| 九九九伊在线综合永久| 欧美在线国产精品| 乱馆动漫1~6集在线观看| 欧美日韩成人在线播放| 黄色成人影院| 日韩中文字幕在线视频| av在线天堂播放| 亚洲图片在区色| 国产一区二区三区成人| 欧美亚洲一区三区| 日本成人一级片| 在线中文字幕一区二区| 一二三区免费视频| 欧美性猛交99久久久久99按摩| 精品无码人妻一区二区三| 亚洲乱码中文字幕| 欧美日韩在线观看成人| 亚洲精品视频在线观看网站| 国产乱国产乱老熟300| 亚洲日本在线天堂| 黄色片在线观看网站| 一区二区三区在线视频观看| 欧美日韩大片在线观看| 亚洲国产成人av| 日本黄色片视频| 激情亚洲一区二区三区四区| 国产成人精品一区二三区| 欧美日韩国产精品专区| 黄色免费av网站| 在线观看欧美黄色| 一卡二卡三卡在线| 欧美一区二区三区免费视频| 草草视频在线播放| 日韩av一卡二卡| 可以直接在线观看的av| 中文字幕成人在线| 国产传媒在线播放| 欧美激情视频在线观看| 高清在线视频不卡| 日韩美女福利视频| 四虎精品在线观看| av在线不卡一区| 同性恋视频一区| 色姑娘综合网| 午夜精品偷拍| 六月激情综合网| 久久成人麻豆午夜电影| 精品国产aⅴ一区二区三区东京热| 成人网页在线观看| 丰腴饱满的极品熟妇| 亚洲男人的天堂在线aⅴ视频| 天天看天天摸天天操| 久久你懂得1024| 人妻av无码一区二区三区| 国产精品高清亚洲| 青娱乐国产精品| 在线观看免费亚洲| 国产精品久久久久久久久久久久久久久久久久 | 国产免费一区二区三区在线观看 | 欧美日韩另类一区| 亚洲精品久久久久久久久久久久久久| 亚洲精品一线二线三线无人区| 西西人体44www大胆无码| 中文字幕亚洲综合| 五月婷婷视频在线观看| 欧美一级片一区| 91九色成人| 鲁鲁视频www一区二区| 成人激情在线| 亚洲色成人www永久在线观看| 久久久999| 特级特黄刘亦菲aaa级| 国产午夜亚洲精品理论片色戒| 日韩精品电影一区二区三区| 樱花影视一区二区| 神马久久久久久久| 亚洲精品在线三区| 在线观看完整版免费| 高清在线视频日韩欧美| 欧美91在线|欧美| 久久96国产精品久久99软件| 亚洲欧洲美洲国产香蕉| 国产精品第157页| 喷水一区二区三区| 黄瓜视频污在线观看| 亚洲欧美激情插 | 国产精品剧情| 国产精品热视频| 日韩啪啪网站| 日本黄色播放器| 日本不卡一区二区| 男男做爰猛烈叫床爽爽小说| 亚洲欧美日韩国产手机在线 | 99热精品在线| 国内精品国产三级国产aⅴ久| 久久综合av免费| 粉嫩aⅴ一区二区三区| 日韩精品中文字幕在线一区| 国产www.大片在线| 日产精品99久久久久久| 久久久免费毛片| 精品国偷自产一区二区三区| 国产一区二区三区免费观看| 免费一级特黄3大片视频| 色哟哟一区二区| 午夜在线视频免费| 欧美黄色片在线观看| 国产美女亚洲精品7777| 视频一区在线免费观看| 日韩精品福利网| 欧美图片第一页| 亚洲国产中文字幕| 国产小视频一区| 欧美第一淫aaasss性| 婷婷视频一区二区三区| 日韩国产精品毛片| 韩国精品久久久| 亚洲综合在线一区二区| 国产情人综合久久777777| 久久在线视频精品| 精品国产污污免费网站入口| 中文字幕在线观看播放| 91久久爱成人| 好看不卡的中文字幕| 男人的天堂免费| 亚洲一区二区欧美激情| www.黄色av| 668精品在线视频| 台湾色综合娱乐中文网| 精品国产免费av| 国产亚洲1区2区3区| 少妇又紧又色又爽又刺激视频| 中文字幕亚洲二区| 亚洲人成网站在线在线观看| 一本一本久久a久久精品综合妖精| 久久er99精品| 亚洲国产精品免费在线观看| 欧美精品久久99久久在免费线 | 一本大道久久精品懂色aⅴ| 蜜桃视频在线观看网站| 欧美专区日韩视频| 日韩啪啪电影网| √天堂资源在线| 五月天欧美精品| 久久久资源网| 国产欧美日韩中文| 欧美精品福利| 搡老熟女老女人一区二区| 欧美午夜理伦三级在线观看| 亚洲麻豆精品| 福利视频一区二区三区| 人与动物性xxxx| 日韩一区二区在线免费观看| 最新国产露脸在线观看| 成人淫片在线看| 在线综合欧美| 色www亚洲国产阿娇yao| 精品国产自在久精品国产| 性国裸体高清亚洲| 一本一道久久a久久精品综合| 国产成人精品综合在线观看| 欧美不卡视频在线观看| www国产精品com| 国产福利资源一区| 精品999在线| 亚洲国产精品久久不卡毛片 | 顶级嫩模精品视频在线看|