2017-06-25 45 views
0

我目前設法設置了一個Jenkins文件來在容器中運行我的PHP分析。下面是它的要點:如何在使用Jenkinsfile時檢出Docker容器中的存儲庫?

node { 
    stage "Prepare environment" 
     checkout scm 
     def environment = docker.build 'platforms-base' 

     environment.inside { 
      stage "Update Dependencies" 
       sh "composer install || true" 
     } 
} 

當這個運行時,它似乎回購簽出到主機,而該目錄安裝到在/app目錄泊塢窗容器。 (我還沒有找到任何配置,所以我不知道這是定義在哪裏。)

在同一個容器中,我有Magento2安裝在/var/magento2目錄中。我需要在Magento2代碼庫的範圍內運行一些測試。這意味着我需要將當前分支結帳到容器中的特定目錄/var/magento2/vendor/myorg/mypackage/,但簽出的回購似乎爲/app

如何在集裝箱內某個地方簽出回購協議?

回答

1

/app將被安裝在您的容器中,因爲您(或您使用的Dockerfile)將當前目錄掛載爲/app

現在,您的代碼已經簽出了很好的詹金斯,所以我不會做一個單獨的額外簽出碼頭容器內。詹金斯用正確的憑證爲您檢出了正確的分支/主/標籤,因此您無需自己動手。

你有三個基本的選擇:

  • 安裝當前目錄不是/app,但/var/magento2/vendor/myorg/mypackage/

  • 安裝當前目錄既是/app/var/magento2/vendor/myorg/mypackage/。你甚至可以用一個額外的命令行選項來做這件事,而不是修改Dockerfile。 (這很大程度上取決於您的開發設置)。

  • 使/var/magento2/vendor/myorg/mypackage/符合/app的符號鏈接,這可能也會起作用。

相關問題