代码拉取完成,页面将自动刷新
同步操作将从 bear/PX4-Bootloader 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#!/usr/bin/env groovy
pipeline {
agent none
stages {
stage('Build') {
steps {
script {
def build_nodes = [:]
def docker_images = [
nuttx: "px4io/px4-dev-nuttx:2019-02-14",
]
def nuttx_builds_archive = [
target: [
"auavx2v1_bl",
"avx_v1_bl",
"crazyflie_bl",
"cube_f4_bl",
"mindpxv2_bl",
"fmuk66v3_bl",
"fmuk66e_bl",
"omnibusf4sd_bl",
"pix32v5_bl",
"px4flow_bl",
"px4fmuv2_bl",
"px4fmuv3_bl",
"px4fmuv4_bl",
"px4fmuv4pro_bl",
"px4fmuv5_bl",
"px4io_bl",
"smartap_pro_bl",
"modalai_fc_v1_bl"
],
image: docker_images.nuttx,
archive: true
]
def docker_builds = [
nuttx_builds_archive
]
for (def build_type = 0; build_type < docker_builds.size(); build_type++) {
for (def build_target = 0; build_target < docker_builds[build_type].target.size(); build_target++) {
build_nodes.put(docker_builds[build_type].target[build_target],
createBuildNode(docker_builds[build_type].archive, docker_builds[build_type].image, docker_builds[build_type].target[build_target])
)
}
}
parallel build_nodes
} // script
} // steps
} // stage Build
} // stages
environment {
CCACHE_DIR = '/tmp/ccache'
CI = true
}
options {
buildDiscarder(logRotator(numToKeepStr: '10', artifactDaysToKeepStr: '28'))
timeout(time: 60, unit: 'MINUTES')
}
}
def createBuildNode(Boolean archive, String docker_image, String target) {
return {
node {
docker.image(docker_image).inside('-e CCACHE_BASEDIR=${WORKSPACE} -v ${CCACHE_DIR}:${CCACHE_DIR}:rw') {
stage(target) {
try {
sh('export')
checkout(scm)
sh('git clean -ff -x -d .')
sh('git submodule update --init --recursive --force')
sh('git fetch --tags')
sh('ccache -z')
sh('make ' + target)
sh('ccache -s')
sh('make sizes')
if (archive) {
archiveArtifacts(allowEmptyArchive: false, artifacts: 'build/*/*.elf, build/*/*.bin, build/*/*.hex', fingerprint: true, onlyIfSuccessful: true)
}
}
catch (exc) {
throw (exc)
}
finally {
sh('git submodule deinit -f .')
sh('git clean -ff -x -d .')
}
}
}
}
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。