制限された権限でJenkinsでスクリプトを実行するために使用されるエイリアスを設定します。

制限された権限でJenkinsでスクリプトを実行するために使用されるエイリアスを設定します。

source ./script_name代わりに走りたかったです./script_name。これにエイリアスを作成できますか?

Jenkinsジョブはスクリプトを実行し、./script_nameサーバーでスクリプトを実行する方法を編集することはできません。同じシェルでコマンドを実行するには、このスクリプトをソースとして実行する必要があります。したがって、Jenkinsが実行されるたびに./my_script順番に実行されますsource ./my_script

答え1

あなたは一つ持っています。バッシュスクリプト/home/user/一緒にするバッシュスクリプトmyscriptエイリアスを実行するように設定できます。

/home/user/myscript

#!/bin/bash
echo "WELCOME BASH"

走るchmod +x /home/user/myscript

  1. エイリアスによる生成aliasと実行

    • 一時alias- 端末で実行

      alias myscript="/home/user/myscript"

    • alias(/home/user/.bashrc)に永続的に保存する - ファイル~/.bashrcに追加/編集.bashrc

      alias myscript="/home/user/myscript"

    今ターミナルで実行してください:myscript

オプション1

bashrcに以下を追加してください。

alias myscript="source /home/user/./myscript" または alias my_script="source ./my_script"

my_script走るsource ./my_script

これはあなたのユーザーアカウントにのみ適用されます。すべてのユーザーのエイリアスが必要な場合は、システム全体のシェル構成ファイルにエイリアスを追加するか、/etc/bash.bashrc管理bash者に追加するように依頼する必要があります。

オプション2

Jenkins サーバーにログインし、source コマンドを使用するジョブのジョブ構成ページに移動します。

タスク構成のビルドセクションで、新しいビルドステップタイプを追加します。シェルの実行

存在する注文するソースコマンドをラップする関数を定義するフィールド

例:

function my_source() {
    source ./home/user/my_script
    # or
    source /home/user/./myscript
    # or
    source /home/user/myscript
}

この機能を一時または永続エイリアスに割り当てる alias my_alias='my_source'

オプション3

ラッパースクリプトの生成

#!/bin/bash
source /home/user/my_script

ファイルを実行可能にする

chmod +x my_script

これで実行できます./my_script

スクリプトが元のスクリプトと同じディレクトリにあること、またはシステムのPATH変数に含まれるディレクトリにあることを確認してください。

オプション4

Jenkinsジョブが実行しようとすると、./my_script実際にはこれで実行されますsource ./my_script

スクリプトへのシンボリックリンクを作成します。 ln -s $(realpath my_script) source

Jenkinsジョブが実行されると、作成したシンボリックリンクで実行されます./my_scriptsource ./my_script

この機能を慎重に使用してください、作業完了後のシンボリックリンクのクリーンアップ

rm source

源泉:

関連情報