一、はじめに
この記事ではGitLabからソースコードを引っ張り、S3バケットにそれを押して、セットアップにアマゾンS3へのジェンキンスを使用して、基本的な展開を説明しています。ジェンキンスを使用したインストールの自動化は、AWSのオンラインコンソールを使用してS3バケットに手動でアップロードファイルから私たちを保存します。時間を節約することに加えて、この方法は、したがって、間違ったファイルのアップロードを避け、最新のGitのプッシュにコミットされた正確なコードをプッシュ。これは、S3は、ファイルの数が多い上に格納された静的なWebサイトのために有用です。
二、前提条件の
OS:MacのOSが、主なアイデアは、OSに依存しないです。
あなたがすでにAWS S3で静的なウェブページを持っていることを想定しています。ない場合は、AWSのドキュメントからの指示をチェックアウトすることができます。http://docs.aws.amazon.com/AmazonS3/latest/dev/HostingWebsiteOnS3Setup.html
また、あなたのプロジェクトがGitLabに追加されている必要があります。:いない場合、あなたはそれらのドキュメントを参照することができhttps://docs.gitlab.com/ee/gitlab-basics/create-project.htmlを
ジェンキンスをインストール
-
- :ジェンキンスをダウンロードしてインストールします(これを書いている時点では現在のLTSバージョンは2.89.2です)https://jenkins.io/download
-
- : - >更新サイトJenkins->プラグインマネージャ- >詳細(タブ):インストールが完了したら、HTTPSからHTTPに更新サイトのURLを変更http://updates.jenkins.io/update-center.json
-
- Gitのプラグイン(3.7.0)Jenkins->プラグインマネージャ - >利用可能(タブ)オプションをインストールします。青成功ボール緑を作るためにプラグイングリーンボールをインストールします。
GitLabからプルプロジェクトへのセットアップ
ローカルマシンとGitLabの間でSSH認証を確立します。
-
- プライベートキー内のファイルの/.ssh/id_rsaを取得し、Gitの資格を作成します。
お持ちでない場合はSSHキーのペアを作成するために、どのようにこのサイトを示します:https://docs.gitlab.com/ce/ssh/README.html
- プライベートキー内のファイルの/.ssh/id_rsaを取得し、Gitの資格を作成します。
-
- ジェンキンスでGitの資格を作成します。
Jenkins->証明書、>システム - >グローバル資格情報(無制限) - >資格情報を追加します。
種類:秘密鍵でSSHユーザー名。
秘密鍵を選択し、秘密鍵を貼り付けます。
[OK]を押します
-
- ジェンキンスGitのプロパティにGitのユーザー名と電子メールを追加します。
Jenkins-管理>設定システムは、
Gitのプラグインセクションの下にあなたのGitのユーザー名と電子メールを追加します。
-
- ジェンキンスでプロジェクト/ジョブを作成します
Jenkins->新しいアイテム
この仕事のために任意の名前を入力します
選択フリースタイル・プロジェクト
押して[OK]を
-
- 設定ソースコード管理は、Gitリポジトリからプロジェクトを取得します。
Fill in Git project URL and select credential to use (created in step 2) under Source Code Management tab.
Press Save.
-
- At this point you can test to see if the Jenkins job can retrieve your project from Git by clicking Build Now.
If successful, you should see a blue or green ball. You can check the logs by clicking on the blue/green ball.
To check if the project is correctly pulled from git to Jenkins workspace, click on Workspace. You should see the same files that are in your Git repository.
Pushing project to Amazon S3
-
- Create a user to allow access to your S3 bucket.
In the online AWS console->IAM (service)->Users
Click Add user
Enter any username you want
Check Programmatic access
Click Next Permission
Select tab Attach Policy Directly
Search for 's3'
Select AmazonS3FullAccess
Click Next Review
Click Create user
Write down the user Access Key ID and Secret Access Key as they will not be available anymore after this point.
Click Close
- Create a user to allow access to your S3 bucket.
If you server is EC2, you can use IAM Role to attach to your EC2.
-
- Install and configure aws command (command line client to access S3)
apt install awscli
https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/cli-chap-install.html
-
- Update the Jenkins job to use awscli to push code to S3
ジェンキンスで作成し、構成]をクリックします仕事に戻る
ビルド・セクションに移動を
入力します。
aws s3 sync . s3://beauty.wzlinux.com/ --region eu-west-3 --delete --exclude ".git/*";
:説明最初の行はPATHにその場所を追加することにより、s3cmdコマンドを見つけるためにジェンキンズに指示します
(。)は、第2のラインが使用するすべてをコピーするs3cmd S3バケット名にoptimus.com
--delete-削除がS3から削除されたファイルを削除します
- S3に同期する「.git /」除外gitのディレクトリを除外します。
[保存]をクリックし
今すぐビルドをクリックします
ジョブのログをチェックすることにより、あなたはジェンキンスは、Gitリポジトリからコードを引っ張られ、AWS S3にそれをプッシュすることを確認する必要があり。
それでおしまい!私はこれがあなたを助けている願っています。
ライセンス
関連するすべてのソースコードとファイルと共に、この記事を、コードプロジェクトオープンライセンスの下でライセンスされている(CPOL)