CICD戦闘-Jenkinsを使用して自動展開と環境分離を実現

インストール

jdk

1.jdkがインストールされているかどうかを確認します

[root@10-0-59-231 data]# java -version # 查看是否安装jdk,没有则要安装
-bash: java: 未找到命令

2.利用可能なパッケージを検索します

yum search java |grep -i --color JDK

3.jdkをインストールします

yum install java-1.8.0-openjdk* # 安装1.8 openjdk

4.表示

java -version

#输出
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)

PS:yumは環境変数を自動的に構成します。/profilevimなどを表示できます。

ジェンキンス

1. centos7の下にインストールします

yum install jenkins

2.デフォルトのポート番号とgitクローンコードストレージディレクトリを変更します

vim /etc/sysconfig/jenkins
JENKINS_PORT="8088"             # 默认8080
JENKINS_HOME="/data/jenkins"    # 默认 /var/lib/jenkins
systemctl daemon-reload # 使得配置生效

3.開始

systemctl restart jenkins # 重启
chkconfig jenkins on      # 开机启动

構成

1.新しいタスクを作成します
。2。名前を入力し、フリースタイルソフトウェアを選択します。
ここに画像の説明を挿入
3.一般的に、古いビルドを破棄するためにチェックします
ここに画像の説明を挿入

4.コードウェアハウスをセットアップします。gitlabを使用しているので、Gitを確認してから、コードリポジトリアドレスを貼り付けます。資格情報は、権限を持つユーザーを追加します。
ブランチ指定子:デフォルトでは、マスターからコードをプルしてコンパイルします。通常、リリースはリリースであるため、ここではリリースブランチを使用します。
ここに画像の説明を挿入

5.トリガーを作成します。これは設定する必要はなく、使用する必要もありません。
6.環境を構築します。一時的に使用しないので、スキップしてください。
7.ビルドします。「シェルの実行」をクリックしてbuild.shスクリプトを呼び出し、ソースコードのコンパイルを完了します。詳細については、次のセクションを参照してください。
ここに画像の説明を挿入

8.ビルド後。「SSH経由でビルドアーティファクトを送信」をクリックして、コンパイルされたパッケージをssh経由でリモートマシンに公開します。詳細については、以下を参照してください。
ここに画像の説明を挿入

構築する

1.スクリプトを作成します。

cd ${WORKSPACE} && cd server/paas_build
chmod 777 build_db_proxy_server.sh
./build_db_proxy_server.sh
cd ../
echo 'tar ${pwd}/online.base.im/'
tar -czvf online.base.im.tar.gz online.base.im/

ここに画像の説明を挿入

後続のコピー配布を容易にするために、ここにパックして圧縮します。

2.ビルドをテストします。
ここに画像の説明を挿入
ここに画像の説明を挿入

[今すぐビルド]をクリックすると、以下のビルドの進行状況が表示されます。もう一度クリックすると、特定のビルド結果が表示されます。
ここに画像の説明を挿入

分布

SSHサーバーを追加しました

PS:プログラムをローカルでコンパイルした後、プログラムをターゲットマシンにコピーして実行し、プロセス全体を完了する必要があります。
[システム管理]-> [システム設定]をクリックして、一番下にドラッグします。SSHサーバーを見つけて、[追加]をクリックします。
ここに画像の説明を挿入
事前に作成する必要のあるリモートディレクトリなどの関連情報を入力します。/ data / appsなどのディレクトリに配置することをお勧めします。このディレクトリは、マシンへのファイルの後続のコピーのルートディレクトリを表します。次に、[詳細設定パスワード]をクリックし、[構成のテスト]をクリックして、構成に問題がないことを確認します。
ここに画像の説明を挿入
複数のマシンがある場合は、複数回追加します。

スクリプトを公開する

1.ビルドが完了したら、スクリプトを使用していくつかのインストールアクションを実行する必要があります。[SSH経由でビルドアーティファクトを送信する]をクリックします。
2.サーバーを選択します。WorkSpaceと比較すると、私のパッケージはserver /online.base.im.tar.gzにあります。
ここに画像の説明を挿入
プレフィックスの削除:設定されていない場合、削除されるプレフィックス。SSHサーバーによって設定されたリモートディレクトリが/ data / webappsであるとすると、圧縮パッケージがコピーされた後のパスは/data/webapps/server/online.base.im.tar.gzです。
実行コマンド:実行するコマンド。cd / data / webappsなど、実行前に現在の作業ディレクトリを設定してください。

添付のスクリプト:

kill -9 $(pidof db_proxy_server) # 停止进程
sleep 5    # 等一会
cd /data/webapps/ 
# 备份原程序
mv online.base.imdbproxyserver.service online.base.imdbproxyserver.service.$(date "+%Y%m%d")${BUILD_NUMBER}
tar -zxvf online.base.im.tar.gz
rm -rf online.base.im.tar.gz
mv online.base.im online.base.imdbproxyserver.service
cd online.base.imdbproxyserver.service
cd db_proxy_server
mv libhiredis.so.0.13 libhiredis.so.0.12
ln -s /data/webconf/dbproxyserver.xml dbproxyserver.xml
cd ../
chmod 777 *.sh
./restart.sh db_proxy_server

再構築

ここに画像の説明を挿入

このとき、青いボールが表示されるまでスクリプトを調整し続ける必要があります。これは、すべてがエラーなしで途中でスムーズに進んだことを意味します。それからそれは達成されます:

  1. gitlabから最新のコードを自動的にプルします
  2. コンパイル
  3. クラスターを自動的にデプロイする

効果を見てみましょう
ここに画像の説明を挿入
ここに画像の説明を挿入
。PS:複数のマシンに公開する必要がある場合は、「ビルド後」セクションにSSHサーバーを追加するだけです。

オン

著者に関するCSDNは、
純粋なGolangで記述された独自のオープンソースIMを推奨しています。

CoffeeChat:
https //github.com/xmcy0011/CoffeeChat
オープンソースim with server(go)and client(flutter + swift)

サーバー(go)とクライアント(flutter + swift)、シングルチャットとロボット(micro、Turing、Sizhi)のチャット機能を含む、TeamTalkやGuazi IMなどの有名なプロジェクトが完了し、現在グループチャット機能が実行されています。開発された、より多くの注意を払うためにフラッターテクノロジーのgolangとクロスプラットフォーム開発に興味を持っているWelcomefriendsStar。

————————————————
著作権表示:この記事はCSDNブロガー「XuFei」のオリジナル記事であり、CC 4.0BY-SA著作権表示に準拠しています。元のソースを添付してくださいリンクとこれを再印刷します。ステートメント。
元のリンク:https://blog.csdn.net/xmcy001122/article/details/105665732

参照:https://www.jianshu.com/p/5f671aca2b5a
参照:http://www.linuxboy.net/linuxjc/144365.html

おすすめ

転載: blog.csdn.net/xmcy001122/article/details/106202085