2017-06-08 5 views
0

パッカーツールを使用して、クラウド環境でイメージビルドプロセスを自動化しました。パッカービルドで実行するとパッチが空になります。これを修正するには

多くのツールをインストールし、linuxパスツールを使用して多数のパッチを適用します。

手動で行うと、すべてが正常に動作しています。しかし、パッカーの自動化では、パッチを適用した場合の問題が1つあります。

/etc/myprogram/myconfig.cfgに設定ファイルがあります。

私はこのようなパッチを実行しています。

pushd /etc/myprogram patch -p 0 < myconfig.cfg.patch

手動で実行している場合、パッチが正常に適用されます。しかし、パッカーでは、ターゲットファイルが空になっています。

しかし、packerビルドのstdoutには、2ハンクが適用されたような出力があります。

どのような問題がありますか?これをデバッグするためのいくつかの提案をしてください。

packer build base.json

base.json

{ 
    "builders": [ 
     { 
      "flavor": "general1-8", 
      "image_name": "Havell Build {{ timestamp }}", 
      "source_image": "d944e490-f615-49a5-97f7-b80a8b0398d4", 
      "ssh_keypair_name": "packer-manual", 
      "ssh_private_key_file": "packer-manual.key", 
      "ssh_username": "root", 
      "type": "openstack" 
     } 
    ], 
    "provisioners": [ 
     { "type": "shell", 
      "inline": "mkdir -p /tmp/patches/" 
     }, 
     { 
      "type": "file", 
      "source": "patches/", 
      "destination": "/tmp/patches/" 
     }, 
     { 
      "script": "apply_patches.sh", 
      "type": "shell" 
     } 
    ] 
} 

apply_patches.sh

#!/bin/bash 
set -ex 

echo "*********************before************************" 
echo "***************************************************" 
cat /etc/myprogram/myconfig.cfg 
echo "***************************************************" 
echo "***************************************************" 
pushd /etc/myprogram 
patch -p 0 < myconfig.cfg.patch 

echo "***********************after***********************" 
echo "***************************************************" 
cat /etc/myprogram/myconfig.cfg 
echo "***************************************************" 
echo "***************************************************" 

exit 0 
+0

あなたが実行する方法についてのあなたのラインを更新でしたパッチ。それはうまくいかず、私はあなたが走っているものではないと思いました。 –

+0

@RickardvonEssen、私はパッチラインを更新しました – RMK

+0

あなたのパッチは '/ etc/myprogram/myconfig.cfg.patch'にありますか?それを確認しましたか? –

答えて

0
は、読むために、スクリプトを変更し

pushd /etc/myprogram 
patch -p 0 < /tmp/patches/myconfig.cfg.patch 
+0

絶対パスで試しましたが、まだ運がありません。 – RMK

関連する問題