标签:jenkins

发表于
场景是这样的,有两台jenkins。一台是正常安装在linux上的,另外一台是在macos上的,在macos上的这台,装了有xcode和android studio,负责ipa和apk的自动打包。而在linux上jenkins则是主jenkins,负责很多项目的打包。 这样两台的目标就都很明确,麻烦的是需要来回登录来构建项目,那么有没有方法从第一台上直接调用第二台的项目进行构建呢? 当然可以,直接发个带Token的url到第二台就可以。 这个不是本文的重点,本文重点,Git的build过程,jenkins装了Git parameter插件后支持选tag进行building。 这样如果两台都这么来一下,实际是在两台都git check了一下,然后开始build,这对于第一台来说,毫无必要。第一台主jenkins的任务就是看看git项目中都有什么tag,然后把tag发链接给第二台即可,没必要check的。而第二台也不去看tag,直接从git中checkout出第一台传过来的tag版本,进行构造,这样最省资源。 那么,怎么让第一台只查看tag呢? 万能的groovy大法: def gettags = "git ls-remote -t git@git.coding.net:doabc/app-abc.git".execute() def...
发表于
如题,Jenkins前端用Nginx做了代理。 万分恼怒的是正在配置Jenkins任务,保存时确报出个"No valid crumb was included in the request"的错误,东西都没存住,杀人的心都有了。 如何修改呢? 首先,修改jenkis的启动配置,centos下是: JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Dhudson.security.csrf.requestfield=crumb" 然后,修改Nginx配置: ... server { listen 80; server_name build.xxx.com; ignore_invalid_headers off; ......
发表于
伪命题。用dmg装jenkins的话会产生一个shared的jenkins用户,这个很不爽。 还是都放到admin用户下统一管理为好,步骤如下: brew install jenkins 会装好jenkins 2.3.0 然后把plist文件拷贝到LaunchAgents目录: cp -p /usr/local/opt/jenkins/homebrew.mxcl.jenkins.plist ~/Library/LaunchAgents 接下来比较重要,编辑这个plist <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/...
发表于
macos下jenkins的安装真的是一件无比苦逼的事情。 首先去下jenkins,当然不是用brew装,因为要装lts版本的: wget http://mirrors.jenkins-ci.org/osx-stable/jenkins-2.7.3.pkg 之后在桌面中双击这个pkg就可以安装了,一路无话。 首先要做一件事,做好一个http proxy,这里我用的是polipo+shadowsocks。 编辑jenkins的启动脚本,加上proxy: sudo vi /Library/Application\ Support/Jenkins/jenkins-runner.sh javaArgs="-Dfile.encoding=UTF-8 -Dhttp.proxyHost=192.168.0.1 -Dhttp.proxyPort=3128 -Dhttps.proxyHost=192.168.0.1...