Gitlab +ジェンキンス+ S3デプロイ静的なページ

一、はじめに

この記事では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を

ジェンキンスをインストール

    1. :ジェンキンスをダウンロードしてインストールします(これを書いている時点では現在のLTSバージョンは2.89.2です)https://jenkins.io/download
    1. : - >更新サイトJenkins->プラグインマネージャ- >詳細(タブ):インストールが完了したら、HTTPSからHTTPに更新サイトのURLを変更http://updates.jenkins.io/update-center.json
    1. Gitのプラグイン(3.7.0)Jenkins->プラグインマネージャ - >利用可能(タブ)オプションをインストールします。青成功ボール緑を作るためにプラグイングリーンボールをインストールします。

GitLabからプルプロジェクトへのセットアップ

ローカルマシンとGitLabの間でSSH認証を確立します。

    1. プライベートキー内のファイルの/.ssh/id_rsaを取得し、Gitの資格を作成します。
      お持ちでない場合はSSHキーのペアを作成するために、どのようにこのサイトを示します:https://docs.gitlab.com/ce/ssh/README.html
    1. ジェンキンスでGitの資格を作成します。

Jenkins->証明書、>システム - >グローバル資格情報(無制限) - >資格情報を追加します。

種類:秘密鍵でSSHユーザー名。
秘密鍵を選択し、秘密鍵を貼り付けます。
[OK]を押します

Gitlab +ジェンキンス+ S3デプロイ静的なページ

    1. ジェンキンスGitのプロパティにGitのユーザー名と電子メールを追加します。

Jenkins-管理>設定システムは、
Gitのプラグインセクションの下にあなたのGitのユーザー名と電子メールを追加します。

Gitlab +ジェンキンス+ S3デプロイ静的なページ

    1. ジェンキンスでプロジェクト/ジョブを作成します

Jenkins->新しいアイテム

この仕事のために任意の名前を入力します
選択フリースタイル・プロジェクト
押して[OK]を

Gitlab +ジェンキンス+ S3デプロイ静的なページ

    1. 設定ソースコード管理は、Gitリポジトリからプロジェクトを取得します。

Fill in Git project URL and select credential to use (created in step 2) under Source Code Management tab.
Press Save.

Gitlab +ジェンキンス+ S3デプロイ静的なページ

    1. At this point you can test to see if the Jenkins job can retrieve your project from Git by clicking Build Now.

Gitlab +ジェンキンス+ S3デプロイ静的なページ

If successful, you should see a blue or green ball. You can check the logs by clicking on the blue/green ball.

Gitlab +ジェンキンス+ S3デプロイ静的なページ

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.

Gitlab +ジェンキンス+ S3デプロイ静的なページ

Pushing project to Amazon S3

    1. 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

If you server is EC2, you can use IAM Role to attach to your EC2.

    1. 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

    1. 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のディレクトリを除外します。
[保存]をクリックし
今すぐビルドをクリックします

Gitlab +ジェンキンス+ S3デプロイ静的なページ

ジョブのログをチェックすることにより、あなたはジェンキンスは、Gitリポジトリからコードを引っ張られ、AWS S3にそれをプッシュすることを確認する必要があり。
それでおしまい!私はこれがあなたを助けている願っています。

ライセンス
関連するすべてのソースコードとファイルと共に、この記事を、コードプロジェクトオープンライセンスの下でライセンスされている(CPOL)

おすすめ

転載: blog.51cto.com/wzlinux/2448674