JenkinsでAWS Parameter Storeを使う
AWS Parameter Store
AWSシステムマネージャの
Parameter Store
機能は、構成データとパスワードを管理するための安全な階層型ストレージを提供します.パスワード、データベース文字列、ライセンスコードなどのパラメータ値としてデータを格納できます.値は、純粋なテキストまたは暗号化されたデータとして保存できます.パラメータを作成するときに、指定した一意の名前を使用して、スクリプト、コマンド、SSMドキュメント、構成および自動化ワークフローでシステムマネージャパラメータを参照できます.젠킨스
によってCI / CD
を構築するには、jwt secret keyおよびFirebase admin sdk情報をスプリングに入力し、AWS Parameter Store
を使用することを試みる必要がある.プロセス
まず、プロセス全体をリストします.
シーケンスプロシージャ1 aws IAM鍵アカウント作成と権限設定2 aws KMS対称鍵生成3 AWS Parameter Storeパラメータ生成4 jenkins AWS Parameter Store Build Wrapper pluginインストール5 jenkins上でaws Crementies登録6ライン作成
1.AWS IAM鍵アカウントを作成し、権限を設定する
まず、アカウントを作成し、ジェンキンスがAWSパラメータストレージにアクセスできるように適切な権限を追加する必要があります.アカウントは、
Access Key
およびSecret Access Key
の鍵を提供するように作成される.パラメータストアにアクセスするには、
AmazonSSMFullAccess
を追加します.2.AWS KMS対称鍵の生成
これらのパラメータを暗号化および管理する場合は、まずKMSクラウドサービスから対称鍵を生成する必要があります.(有料です.)
暗号化によってパラメータを管理したくない場合(無料で使用したい場合)は、2番目と3番目のプロセスをスキップします.
対称キーを使用して作成する必要があります.
対称鍵を作成するときに、管理者を登録し、最初のプロセスで作成したアカウントを対応する対称鍵マネージャに登録する必要があります.
3.パラメータ格納値の作成
次に、複数のアプリケーションに参照するパラメータを作成する必要があります.
「作成」ボタンをクリックします.
3-1. パスの指定
パラメータパスを指定します.パラメータパスを
/{project_name}/{type}_{profile}/{key}
形式で指定しました.プロファイルが
test
、dev
、およびprod
の場合、対応するパラメータを指定できます.3-2を暗号化するかどうかを指定します
パラメータ値を暗号化するかどうかによって、この部分は少し離れています.暗号化せずに無料で使用する場合は、「タイプ」で
문자열
を選択し、暗号化する場合は보안 문자열
を選択します.문자열
が選択されている場合、パラメータパスに対応する値をテキストセクションに入力するだけです.選択
보안 문자열
KMS 키 소스
から別のアカウントを選択し、KMS 키 ID
の部分に暗号化するKMS対称鍵のARNを貼り付けます.ARNはAWS KMSで確認できます.4.Jenkins AWS Parameter Store Builder Wrapper pluginのインストール
withAWSParameterStore
を使用するには、ジェンキンスにAWS Parameter Store Build Wrapper plugin
をインストールする必要があります.ジェンキンスの管理->管理プラグインに移動して、このプラグインをインストールします.
5.ジェンキンスにaws証明書を登録する
ジェンキンスは、ステップ1で登録したAWSアカウントを使用してパラメータストアにアクセスします.そのため、
aws Credentials
に登録してください.移動
젠킨스 관리
->Manage Credentials
、クリックAdd Credentials
これにより、最初のステップでは、awsアカウントの作成時に送信されるアクセスキーと秘密アクセスキーを入力し、IDを指定することで、ジェンキンスからawsパラメータストアにアクセスできます.
6.パイプラインの作成
stage('test aws parameter store') {
steps {
withAWSParameterStore(credentialsId: 'my-aws',
path: "/all-knu/firebase_${env.PROFILE}",
naming: 'basename',
regionName: 'ap-northeast-2') {
echo "${env.ADMINSDK}"
writeFile file: 'test.json', text: "${env.ADMINSDK}"
}
}
}
パラメータパスを入力し、reginNameを指定してください.env.{parameter_key}
でアクセスできます.オプションの詳細はhttps://www.jenkins.io/doc/pipeline/steps/aws-parameter-store/で確認してください.
Reference
この問題について(JenkinsでAWS Parameter Storeを使う), 我々は、より多くの情報をここで見つけました https://velog.io/@suhongkim98/jenkins에서-aws-Parameter-Store-사용하기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol