Jenkinsを使用してGIT + Mavenプロジェクトを構築する
序文
最近、Jenkinsを使用してSVN + Mavenプロジェクトを構築することについてブログを書きました。ここで使用するコードバージョンツールはSVN
ですが、実際には多くの企業GIT
がコード管理にも使用しています。+プロジェクトJenkins
を自動的に公開するにはどうすればよいですか?GIT
Maven
テキスト
ジェンキンス
Jenkinsは、継続的な統合、配信、および展開のためのオープンソースの拡張可能なweb
インターフェイスベースのプラットフォームです。使用するプラットフォームに関係なく、継続的な統合および継続的な配信プロジェクトを許可し、あらゆるタイプのビルドまたは継続的な統合を処理できます。
通常、Jenkins
主に次の機能を使用します。
- 継続的な統合とは、コードをバックボーンに頻繁に(1日に複数回)統合することを指します。個々のソフトウェアの研究開発の一部をソフトウェアの全体に提供し、頻繁に統合してエラーをより迅速に見つけます。
- 継続的な配信とは、レビューのために新しいバージョンのソフトウェアを品質チームまたはユーザーに頻繁に配信することを指します。レビューに合格すると、コードは本番段階に入ります。
- 継続的な展開は、継続的な配信の次のステップです。これは、レビューに合格した後、コードを実稼働環境に自動的に展開することを指します。継続的な展開の目標は、コードがいつでも展開可能であり、本番フェーズに入ることができることです。
Jenkinsを使用してGIT + Mavenプロジェクトを構築する
1.GITをインストールします
実際には、多くのシステムでは、独自に付属しているgit
ツールが、内蔵されたので、git
バージョンが要件満たすには低すぎるjenkins
ためgit
のツールのバージョンを、することをお勧めしますインストールして設定git
した後にアップグレードjenkins
。
ステップ1:必要な依存関係をインストールする
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc perl-ExtUtils-MakeMaker
yum install perl-ExtUtils-MakeMaker package
ステップ2:元のGITをアンインストールします
yum remove -y git
git --version
ステップ3:新しいGITをインストールする
cd /usr/local/src/
wget https://www.kernel.org/pub/software/scm/git/git-2.15.1.tar.xz
tar -vxf git-2.15.1.tar.xz
cd git-2.15.1
make prefix=/usr/local/git all
make prefix=/usr/local/git install
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/profile
source /etc/profile
git --version
ステップ4:GITリンクを作成する
ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack
ln -s /usr/local/git/bin/git-receive-pack /usr/bin/git-receive-pack
2.gitパスワードなしのログインを構成します
ステップ1:Jenkinsサーバーが公開鍵と秘密鍵を生成する
/root/.ssh/id_rsa.pub
:公開キー。通常、セッションキーの暗号化に使用されます。/root/.ssh/id_rsa
:デジタル署名の検証に使用されるキー。/root/.ssh/authorized_keys
:他のサーバーの公開鍵を保存します。
次のコマンドを実行すると、対応するファイルが自動的に生成されます
ssh-keygen -t rsa
ステップ2:jenkinsによって生成された公開キーをid_rsa.pub
gitサーバーauthorized_keys
ファイルに追加します
chattr -ia authorized_keys
chmod 777 authorized_keys
vim authorized_keys
ステップ3:キーのid_rsa
内容を取得する
cat /root/.ssh/id_rsa
3.Jenkinsをインストールして構成します
ステップ1:戦争インストールパッケージをダウンロードする
公式ダウンロードアドレス:https://www.jenkins.io/download/
ステップ2:Jenkinsをインストールして構成する
nohup java -jar jenkins.war &
Jenkinsのデフォルトパス:IP:8080
管理インターフェイスに入った後、プロンプトに従って構成します
- プロンプトに従って、指定された場所から初期管理者パスワードを取得します
- ユーザーを構成する
- システム推奨
Jenkins
プラグインをインストールする
ステップ3:必要に応じてJenkinsプラグインをインストールする
次のプラグインをjenkinsにインストールします-Jenkinsを管理します-プラグイン管理:
- SSH
ssh
経由で公開:リモートコードプッシュを実現するためにリモートサーバーに接続するために使用されます。
ステップ4:ローカルツールを構成する
でジェンキンス-ジェンキンス管理-グローバルツール設定の設定Maven
、JDK
およびをGIT
:
Maven
プロジェクトのビルドに使用JDK
プロジェクトの実行環境を提供しますGIT
コードのバージョン制御リポジトリ。
Maven
構成済み
JDK
構成済み
GIT
構成済み
手順5:システム構成を構成するjenkins-Manage Jenkins-System Configurationでリモートサーバー
を構成します。このサーバーは、プロジェクトの実行中のコンテナーです。
ステップ6:設定GITキー
でjenkins-資格証明書-システム-グローバル認証設定されgit
、キーを
ステップ7:新しいタスクを作成し、ソースコード管理を構成し、ビルドおよびビルド後の操作を実行します
ソースコード管理
構築する
ビルド後の操作
run.sh:スクリプトを使用して開始しますspring-dubbo-producer.jar
APP_NAME=spring-dubbo-producer.jar
path=`pwd`
#使用说明,用来提示输入参数
usage() {
echo "Usage: sh 执行脚本.sh [start|stop|restart|status]"
exit 1
}
#检查程序是否在运行
is_exist(){
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
#如果不存在返回1,存在返回0
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}
#启动方法
start(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is already running. pid=${pid} ."
else
source /etc/profile
nohup java -jar $APP_NAME > $path/logs.txt 2>&1 &
fi
}
#停止方法
stop(){
is_exist
if [ $? -eq "0" ]; then
kill -9 $pid
else
echo "${APP_NAME} is not running"
fi
}
#输出运行状态
status(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is running. Pid is ${pid}"
else
echo "${APP_NAME} is NOT running."
fi
}
#重启
restart(){
stop
start
}
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac
ステップ7:プロジェクトをビルドして確認する
プロジェクトをビルドする
検証検証の
ために独自のプロジェクトのインターフェースにアクセスしてください。knife4j
例を次に示します。ip:8080/doc.html