0

リモートサーバ上のjenkisを使用してpostgresスクリプトを実行しようとしています。以下はシェルスクリプトの内容です。私はSSHプラグインで公開しています。jenkinsを使用してpostgresスクリプトを実行する

にsudo -uのpostgres psqlの

PASSWORD 'ソナー' WITH USERソナーを作成します。

\デュ

OWNERソナーエンコーディング 'UTF8' WITH DATABASEソナーを作成します。

データベース上のすべての特権を受け取ります。 L

\ Q

1 \

)Iは、コンテンツが端末に印刷が、実行されていない見ることができます。

ソリューションは、私が試した:! 私は

/binに/ bashの

パスワードを持つユーザーのソナーをCREATE "のpsql -c \" -c

sudoの-h MYIP -u postgresのbashの「ソナーのように私のスクリプトを作成しました「; \ "のpsql -c \" -c sudoの-h MYIP -u postgresのはbash "" OWNERソナーエンコーディングでデータベースのソナーを作成 'UTF8'; \ ""

sudoの-h MYIP -u postgresのはbash - c "psql -c \"データベース上のすべての特権をソナーに渡します; \ ""

このスクリプトはうまくいきますが、リモートサーバーを複数回接続する必要があります。スクリプトを一度接続して、すべてのpsqlクエリを実行します。

2)また、私は開発者とステージング環境が1番目に実行されてから実行されることを探しています。このようにPluginを管理できますか?

答えて

0

あなたはすべてのクエリを使用してファイルを作成することができ、my_queries.sqlを言うと、このようにそれを実行することができます:

sudo -h myip -u postgres bash -f my_queries.sql

my_queries.sql内容:

CREATE USER sonar WITH PASSWORD 'sonar'; 
CREATE DATABASE sonar WITH OWNER sonar encoding 'UTF8'; 
GRANT ALL PRIVILEGES ON DATABASE sonar TO sonar; 
関連する問題