2017-06-26 15 views
0

私はVTSSに展開するカスタムAzureをビルドするために、ユーザーが用意したPackerテンプレートを使用してVSTSに「ビルド不変の画像」展開タスクを使用していますユーザーが提供するPackerテンプレートVSTSで不変の画像を構築する

パッカーテンプレートのプロビジョニングセクションには、Deployerという名前のフォルダ(テンプレートと同じディレクトリにあります)があります。このフォルダには、パッカープロデューサがカスタムイメージを作成するために実行するすべてのスクリプトと証明書が含まれています。

"provisioners": [ 
{ 
    "type": "windows-shell", 
    "inline": [ 
     "cmd /c \"mkdir c:\\\\PackerTemp\"" 
    ] 
}, 
{ 
    "type": "file", 
    "source": "./Deploy", 
    "destination": "c:\\PackerTemp" 
}, 
{ 
    "type": "powershell", 
    "inline": [ 
     "Start-Process powershell -ArgumentList \"C:\\\\PackerTemp\\\\Deploy\\\\InstallIIS.ps1\" -NoNewWindow -Wait" 
    ] 
}, 
{ 
    "type": "powershell", 
    "inline": [ 
     "Start-Process powershell -ArgumentList \"C:\\\\PackerTemp\\\\Deploy\\\\InstallCertificate.ps1\" -NoNewWindow -Wait" 
    ] 
} 

上記は、ローカルでビルドする場合に問題ありません。ただし、VSTSを使用してビルドする場合、VSTSはテンプレートファイルのみを一時的な場所にコピーし、ディレクトリ全体を実際にコピーすることなく一時的な場所から実行します。

2017-06-26T04:16:15.4579904Z Original template location: 
d:\a\r1\a\PackerExperiment\drop\PackerTemplate\firstPackerTry.json 
2017-06-26T04:16:15.4579904Z Copying original template from 
d:\a\r1\a\PackerExperiment\drop\PackerTemplate\firstPackerTry.json to 
temporary location d:\a\_temp\1498450573956 
2017-06-26T04:16:15.4599904Z Copied template file to a temporary location: 
d:\a\_temp\1498450573956 

したがって、画像の建物のタスクは、私は多くの情報を見つけることができなかったエラー

* Bad source './Deploy': GetFileAttributesEx ./Deploy: The system cannot find the file specified. 

で失敗します。この問題を回避する方法はありますか?私はVSTSとPackerを初めて使用しています

ご協力いただきありがとうございます。

+0

このブログを参照してください:https://blogs.msdn.microsoft.com/manibindra/2016/12/26/how-to-continuously-deploy-web-application-to-azure-vm-scale- sets-using-vsts-and-packer/ –

答えて

0

ビルドタスクはテンプレートファイルのみをコピーします。他のフォルダ/ファイルを一緒にコピーするように設定する設定はありません。

回避策は、 "ビルド不変イメージ"タスクを実行する前に、 "展開"フォルダを "d:\ a_temp"フォルダにコピーするビルド定義に "ファイルをコピー"タスクを追加することです。

+0

それは私のためにはうまくいかなかった。パッカーをローカルで使用して、必要な機能がすべてインストールされているベースイメージを作成することはほとんどありません。 packerはベースイメージvhdをストレージアカウントに格納するので、vhd urlを自動生成されたパッカーテンプレートのカスタムイメージとして渡して、そのトリックを行ったアーティファクトを埋め込みます。 – apurva

関連する問題