Jenkins+git+iOS+タンポポ自動化構築(macローカル版)

2643 ワード

Jenkinsは、ソフトウェアの構築、テスト、導入など、さまざまなタスクを自動化するオープンソースCI&CDソフトウェアです.Jenkinsは、システムパッケージ、Docker、または独立したJavaプログラムを介してさまざまな動作をサポートします.jenkinsは、プラグインの拡張をサポートし、異なる機能を実現します.Jenkinsは現在、千種類以上のプラグインを提供しており、本当にあなたのニーズを実現していると言えます.Jenkins公式ドキュメント
Jenkinsのインストールbrew services listコマンドを使用して、現在のHomebrewによって管理されているサービスを表示できます.brew install jenkinsコマンドを使用して、jenkinsをインストールします.Homebrewは、javaを含むすべての依存をダウンロードしてインストールします.jenkinsコマンドが作成され、brew uninstall jenkinsを使用してjenkinsサービスを開始することができます.このようにして起動されたbrew services start jenkinsサービスはバックグラウンド運転をサポートし、端末を閉じることができる.jenkinsコマンドを使用して、jenkinsサービスを有効にすることもできます.しかし、この方法ではバックグラウンドの実行はサポートされず、コマンドラインツールを閉じ、サービスは自動的に閉じます.jenkins jenkinsサービスを再開brew services restart jenkins jenkins brew services stop jenkinsサービスを停止します.jenkinsでサービスを停止することもできますし、http://localhost:8080/exitでサービスを再起動することもできます.http://localhost:8080/restartでサービス構成`jenkinsを再ロードしてjenkinsのインストールを完了した後、ブラウザ種でlocalhost:8080を開くと、構成jenkinsページに入ります.次のように
#!/bin/bash

#  
SECONDS=0

#                
project_path=$(pwd)
#               
now=$(date +"%Y_%m_%d_%H_%M_%S")

#     scheme  
scheme="TRZX"
#          Release  Debug  Adhoc
configuration="Debug"
#            ,    app-store, package, ad-hoc, enterprise, development,  developer-id, xcodebuild method  
export_method='development'


#      
workspace_path="$project_path/TRZX.xcworkspace"
#      
output_path="project_path/APP"
#          
archive_path="$output_path/TRZX_${now}.xcarchive"
#    ipa  
ipa_path="$output_path/TRZX_${now}.ipa"
#    ipa  
ipa_name="TRZX_${now}.ipa"
#        commit message
commit_msg="$1"

#        
echo "===workspace path: ${workspace_path}==="
echo "===archive path: ${archive_path}==="
echo "===ipa path: ${ipa_path}==="
echo "===export method: ${export_method}==="
echo "===commit msg: $1==="

#      build
gym --workspace ${workspace_path} --scheme ${scheme} --clean --configuration ${configuration} --archive_path ${archive_path} --export_method ${export_method} --output_directory ${output_path} --output_name ${ipa_name}

#fir_token
fir_token="3e4e8cb212eaeef08b891dd70bfd5cea"

#   fir
fir publish ${ipa_path} -T "${fir_token}" -c "${commit_msg}"

#     
echo "===Finished. Total time: ${SECONDS}s==="