美文网首页
Jenkins持续集成环境搭建-Mac

Jenkins持续集成环境搭建-Mac

作者: fb69e982796d | 来源:发表于2021-03-26 15:50 被阅读0次

    一、安装方式

    (一)、homebrew安装Jenkins

    1、安装homebrew
    https://brew.sh
    卸载:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

    安装:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    2、安装jenkins
    install the latest release version
    brew install jenkins
    或者
    install the LTS version
    brew install jenkins-lts

    安装过程如下图: 截屏2021-03-26 上午10.03.17.png

    安装路径:/usr/local/Cellar/jenkins-lts/2.150.1

    更新:brew upgrade jenkins-lts 截屏2021-03-26 上午10.04.07.png brew cleanup:清楚brew的一些缓存 截屏2021-03-26 上午10.04.45.png

    3、启动
    后台服务模式:brew services start jenkins-lts
    无需后台服务模式:jenkins-lts

    启动过程如下图: 截屏2021-03-26 上午10.05.15.png

    4、停止

    服务停止:brew services stop jenkins-lts 截屏2021-03-26 上午10.05.37.png

    重新启动jenkins:brew services restart jenkins-lts

    Note:如果浏览器中输入http://localhost:8080无反应,可尝试重启jenkins服务。

    可用插件列表为空的解决方案

    截屏2021-03-26 上午10.06.26.png
    原始:http://updates.jenkins-ci.org/update-center.json
    http://mirror.esuni.jp/jenkins/updates/update-center.json

    (二)、WAR file

    1、官网下载具体Jenkins WAR file至某一路径下
    2、打开终端
    3、执行 java -jar jenkisn.war,启动Jenkins服务,后续
    4、浏览器:http://localhost:8080 ,即可看到Jenkins页面

    note:

    • You can change the port by specifying the --httpPort option when you run the java -jar jenkins.war command. For example, to make Jenkins accessible through port 9090, then run Jenkins using the command:

    java -jar jenkins.war --httpPort=9090

    5、之后用mac自带的automator,选择运行脚本,脚本内容为:java -jar jenkins.war,保存为应用程序,再添加至登录项,至此Jenkins自动启动完成.

    (三)、tomcat

    tomcat与jenkins的安装

    1.homebrew 安装tomcat:brew install tomcat(tomcat路径: /usr/local/Cellar/tomcat)
    2.执行startup.sh,启动tomcat
    3.在浏览器中输入localhost:8080,如果能看到tomcat首页,安装就成功了
    4.官网下载https://jenkins.io/index.html jenkins,将war包拷贝到/Library/tomcat/webapps下
    5.执行shutdown.sh关闭tomcat,并再次启动
    6.在浏览器中输入http://localhost:8080/jenkins/,如果能看到jenkins配置页面,安装就成功了

    二、启动
    1、http://localhost:8080,如下图:

    截屏2021-03-26 下午3.22.28.png
    按照提示,填写password,

    2、Continue,选择“Install suggested plugins”,安装即可(可忽略,可以在系统管理->管理插件中再行安装;(若源码管理使用git,则必须安装git plugin,git client plugin))


    截屏2021-03-26 下午3.23.01.png 截屏2021-03-26 下午3.23.47.png

    jenkins插件下载库:http://updates.jenkins-ci.org/download/plugins/

    3、在最初启动时,会要求设置Jenkins的用户名和密码,为Jenkins添加访问权限。

    4、进行系统设置,目前只配置了这几个


    截屏2021-03-26 下午3.24.21.png 截屏2021-03-26 下午3.25.04.png 截屏2021-03-26 下午3.25.18.png 截屏2021-03-26 下午3.25.33.png

    4、创建一个自由风格的软件项目

    参考:https://blog.csdn.net/taishanduba/article/details/61423121

    截屏2021-03-26 下午3.26.00.png

    设置Source Code Management(目前使用git)
    添加相关shell,下面主要是打包(adhoc)

    echo "workspace $1"
    echo "jenkins_home $2"
    workspace=$1
    jenkins_home=$2
    
    # 以下是用xcodebuild进行打包
    # 开始build
    echo "[build start ...]"
    configurationBuildDir="$workspace/build"
    echo "[configurationBuildDir :$configurationBuildDir]"
    
    configuration="WiseTVAdHoc"
    cd $workspace/WiseTV4.0
    xcodebuild clean -configuration ${configuration}
    clean_code=$?
    if [[ "$clean_code" != "0" ]]; then
      echo "xcodebuild clean error!"
      exit 1
    fi
    cd ..
    cd ..
    
    workspaceName="$workspace/WiseTV4.0/WiseTV.xcworkspace"
    scheme="WiseTVAdHoc"
    archivePath="$configurationBuildDir/WiseTVAdHoc.xcarchive"
    
    echo "xcodebuild archive -workspace $workspaceName -scheme $scheme -configuration $configuration -archivePath $archivePath CONFIGURATION_BUILD_DIR=$configurationBuildDir CODE_SIGN_IDENTITY=$codeSignIdentity PROVISIONING_PROFILE=$adHocProvisioningProfile"
    
    xcodebuild -workspace ${workspaceName} -scheme ${scheme} -configuration ${configuration} archive -archivePath ${archivePath}
    
    archive_code=$?
    if [[ "$archive_code" != "0" ]]; then
      echo "xcodebuild archive error!"
      exit 1
    fi
    
    echo "[build success!]"
    
    # 开始打包ipa
    echo "[package ipa ...]"
    exportOptionsPlist="$jenkins_home/workspace/iphoneAdHoc/WisetvExportOptions.plist"
    exportPath=$configurationBuildDir
    
    echo "xcodebuild -exportArchive -archivePath $archivePath -exportOptionsPlist $exportOptionsPlist -exportPath $exportPath"
    
    xcodebuild -exportArchive -archivePath ${archivePath} -exportOptionsPlist ${exportOptionsPlist} -exportPath ${exportPath}
    
    export_code=$?
    if [[ "$export_code" != "0" ]]; then
      echo "xcodebuild exportArchive error!"
      exit 1
    fi
    
    echo "[package ipa success!]"
    
    # echo "[clear cache ...]"
    # rm -rf "$configurationBuildDir"
    # echo "[clear cache success!]"
    
    

    5、publish 包

    1、可以使用fir plugin 上传ipa包,具体请看http://blog.fir.im/jenkins/

    2、使用fir命令行publish包,具体请查看https://github.com/FIRHQ/fir-cli
    如果log输出:fir command not found,可按照
    https://blog.csdn.net/pengyuan_D/article/details/51861098 修改

    6、构建结果邮件通知
    https://www.cnblogs.com/imyalost/p/8781759.html

    构建过程中问题总结:

    1、xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

    这种情况是xcodebuild的路径不正确


    截屏2021-03-26 下午3.40.01.png

    将路径切换到xcode的目录下:
    sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/
    然后执行xcodebuild -showsdks查看是否正常使用
    2、xcodebuild 命令详解
    https://www.jianshu.com/p/770d5df137bf
    3、获取fir api token
    https://www.betaqr.com/apps/apitoken
    当前:737b8fca97cc6e094951449884f263d5

    三、fir.im-cli指令上传ipa包

    fir cli https://github.com/FIRHQ/fir-cli/tree/master/doc

    安装:
    $ ruby -v # > 2.6.1

    $ gem install fir-cli
    登录:
    fir login token
    fir me
    更新:
    fir upgrade
    发布:
    fir publish APP_FILE_PATH

    四、在jenkins中使用fir-plugin

    安装fir-plugin,或者下载此插件,然后在jenkins插件管理中上传使用
    添加Post-build Actions,选择upload to fir.im.
    填写token,可以使用链接查看https://www.betaqr.com/apps/apitoken,因为fir的域名的更改,文档中的链接不支持查看。填写ipa包所在路径,因为会自动上传路径下所有的ipa包,所以这里做了一个操作,将要上传的ipa包拷贝至了一个特定的路径(mv $WORKSPACE/build/Apps/WiseTVAdHoc.ipa /Users/dongranran/Public/ipa/),如下图

    截屏2021-03-26 下午3.43.10.png

    Jenkins官网:https://jenkins.io
    Jenkins Pipeline总体介绍 https://blog.csdn.net/diantun00/article/details/81075007

    相关文章

      网友评论

          本文标题:Jenkins持续集成环境搭建-Mac

          本文链接:https://www.haomeiwen.com/subject/mywfhltx.html