0

クライアントに複数のドメインを持たせるために ISPConfig を使用しています。これで、特定のプロジェクトをデプロイする Jenkins ができました。

Jenkins は、ISPConfig の VirtualHost である /var/www/myproject/web に作業ディレクトリを割り当てました。

手動で私はしなければなりません:

chown -R jenkins:nogroup /var/www/myproject/web
> Build Jenkins project
chown -R web38:client17 /var/www/myproject/web

質問:

  • Jenkins に sudo パーミッションを付与しても問題ありませんか?
  • その代わりに、sudo 権限を持つ bash スクリプトを作成する必要がありますか?
  • これを適切に行うために気付かなかった権限の役割はありますか?

どうも

4

1 に答える 1

0

これが私が見つけた解決策です。

Jenkins に「バッチ タスク」モジュールをインストールします。

/var/www/your_domain.com/jenkins-post-build.sh に対する root:root 権限を使用して、次のようにスクリプトを作成します。

#!/bin/bash
SOURCE=$1
TARGET=$2

echo Moving $SOURCE to $TARGET

rm -rf $TARGET
cp -R $SOURCE $TARGET
ln -s $TARGET/build $TARGET/public/build
chown -R web39:client11 $TARGET

「バッチ タスクの呼び出し」を使用してビルド後のアクションを追加します。

sudo /var/www/your_domain.com/jenkins-post-build.sh ${WORKSPACE} /var/www/your_domain.com/web

このスクリプトに sudo 権限を追加します

Cmnd_Alias HIPER_DEV    = /var/www/your_domain.com/jenkins-post-build.sh
jenkins ALL=(ALL) NOPASSWD:HIPER_DEV
于 2013-05-15T21:30:41.280 に答える