jenkins: Add makefile rule to do job creation
This commit is contained in:
parent
aca779cdc5
commit
82ee682b67
|
@ -4,3 +4,4 @@ build.*
|
||||||
*.sw?
|
*.sw?
|
||||||
downloads/
|
downloads/
|
||||||
jenkins/*.xml
|
jenkins/*.xml
|
||||||
|
jenkins-cli.jar
|
||||||
|
|
45
Makefile
45
Makefile
|
@ -39,7 +39,17 @@ BUILD_TARGET_sysmocom-alix = "core-image-minimal-initramfs meta-toolchain-osmo t
|
||||||
BUILD_TARGETS="$(BUILD_TARGET_$(CUR_MACHINE))"
|
BUILD_TARGETS="$(BUILD_TARGET_$(CUR_MACHINE))"
|
||||||
|
|
||||||
# Jenkins jobs...
|
# Jenkins jobs...
|
||||||
JOB_FILES=merge_diff.xml nightly.xml show_diff.xml test_upgrade_alix.xml test_upgrade_apu2.xml testbranch.xml testing.xml
|
JOB_FILES=merge_diff.xml nightly.xml show_diff.xml testing.xml test_upgrade_alix.xml test_upgrade_apu2.xml testbranch.xml
|
||||||
|
JOB_NAME_merge_diff.xml=$(SYSMOCOM_RELEASE)-merge-diff
|
||||||
|
JOB_NAME_nightly.xml=$(SYSMOCOM_RELEASE)-nightly
|
||||||
|
JOB_NAME_show_diff.xml=$(SYSMOCOM_RELEASE)-show-diff
|
||||||
|
JOB_NAME_testing.xml=$(SYSMOCOM_RELEASE)-testing
|
||||||
|
JOB_NAME_test_upgrade_alix.xml=$(SYSMOCOM_RELEASE)-test-upgrade-alix
|
||||||
|
JOB_NAME_test_upgrade_apu2.xml=$(SYSMOCOM_RELEASE)-test-upgrade-apu2
|
||||||
|
JOB_NAME_testbranch.xml=$(SYSMOCOM_RELEASE)-testbranch
|
||||||
|
JOB_NAME="$(JOB_NAME_$(job))"
|
||||||
|
VIEW_FILES=view.xml
|
||||||
|
ALL_JENKINS_FILES=$(JOB_FILES) $(VIEW_FILES)
|
||||||
SED=sed
|
SED=sed
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -174,14 +184,41 @@ endif
|
||||||
@echo " User = $(SSH_USER)" >> $(HOME)/.ssh/config
|
@echo " User = $(SSH_USER)" >> $(HOME)/.ssh/config
|
||||||
|
|
||||||
# Create jenkin job xmls
|
# Create jenkin job xmls
|
||||||
create-jenkins-jobs:
|
create-jenkins-jobs-xml:
|
||||||
$(Q)$(foreach file, $(JOB_FILES), \
|
$(Q)$(foreach file, $(ALL_JENKINS_FILES), \
|
||||||
cat jenkins/job_templates/$(file) | \
|
cat jenkins/job_templates/$(file) | \
|
||||||
$(SED) \
|
$(SED) \
|
||||||
-e s,PLACEHOLDER_SYSMOCOM_RELEASE,$(SYSMOCOM_RELEASE),g \
|
-e s,PLACEHOLDER_SYSMOCOM_RELEASE,$(SYSMOCOM_RELEASE),g \
|
||||||
-e s,PLACEHOLDER_POKY_RELEASE,$(POKY_RELEASE),g > jenkins/$(file); \
|
-e s,PLACEHOLDER_POKY_RELEASE,$(POKY_RELEASE),g > jenkins/$(file); \
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
create-jenkins-jobs: create-jenkins-jobs-xml jenkins-cli.jar
|
||||||
|
ifndef JENKINS_HOST
|
||||||
|
$(error "Please call with make $@ JENKINS_HOST=xyz...")
|
||||||
|
endif
|
||||||
|
ifndef JENKINS_USER
|
||||||
|
$(error "Please call with make $@ JENKINS_USER=xyz...")
|
||||||
|
endif
|
||||||
|
ifndef JENKINS_PASS
|
||||||
|
$(error "Please call with make $@ JENKINS_PASS=xyz...")
|
||||||
|
endif
|
||||||
|
$(Q)$(foreach view, $(VIEW_FILES), \
|
||||||
|
cat jenkins/$(view) | java -jar jenkins-cli.jar -s http://$(JENKINS_HOST) \
|
||||||
|
create-view --username $(JENKINS_USER) --password $(JENKINS_PASS); \
|
||||||
|
)
|
||||||
|
$(Q)$(foreach job, $(JOB_FILES), \
|
||||||
|
cat jenkins/$(job) | java -jar jenkins-cli.jar -s http://$(JENKINS_HOST) \
|
||||||
|
create-job --username $(JENKINS_USER) --password $(JENKINS_PASS) $(JOB_NAME); \
|
||||||
|
)
|
||||||
|
|
||||||
|
jenkins-cli.jar:
|
||||||
|
ifndef JENKINS_HOST
|
||||||
|
$(error "Please call with make $@ JENKINS_HOST=xyz...")
|
||||||
|
endif
|
||||||
|
wget http://$(JENKINS_HOST)/jnlpJars/jenkins-cli.jar
|
||||||
|
|
||||||
|
|
||||||
# Target classification
|
# Target classification
|
||||||
.PHONY: update setup-all install-ssh-config create-jenkins-jobs
|
.PHONY: update setup-all install-ssh-config create-jenkins-jobs-xml create-jenkins-jobs
|
||||||
.SECONDARY: $(foreach repo, $(REPOS), git/$(repo)) $(foreach machine, $(MACHINES), build.$(machine))
|
.SECONDARY: $(foreach repo, $(REPOS), git/$(repo)) $(foreach machine, $(MACHINES), build.$(machine))
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<hudson.model.ListView>
|
||||||
|
<name>System Images PLACEHOLDER_SYSMOCOM_RELEASE</name>
|
||||||
|
<filterExecutors>false</filterExecutors>
|
||||||
|
<filterQueue>false</filterQueue>
|
||||||
|
<properties class="hudson.model.View$PropertyList"/>
|
||||||
|
<jobNames>
|
||||||
|
<comparator class="hudson.util.CaseInsensitiveComparator"/>
|
||||||
|
<string>PLACEHOLDER_SYSMOCOM_RELEASE-merge-diff</string>
|
||||||
|
<string>PLACEHOLDER_SYSMOCOM_RELEASE-nightly</string>
|
||||||
|
<string>PLACEHOLDER_SYSMOCOM_RELEASE-show-diff</string>
|
||||||
|
<string>PLACEHOLDER_SYSMOCOM_RELEASE-test-upgrade-alix</string>
|
||||||
|
<string>PLACEHOLDER_SYSMOCOM_RELEASE-test-upgrade-apu2</string>
|
||||||
|
<string>PLACEHOLDER_SYSMOCOM_RELEASE-testbranch</string>
|
||||||
|
<string>PLACEHOLDER_SYSMOCOM_RELEASE-testing</string>
|
||||||
|
<string>Yocto-Master</string>
|
||||||
|
</jobNames>
|
||||||
|
<jobFilters/>
|
||||||
|
<columns>
|
||||||
|
<hudson.views.StatusColumn/>
|
||||||
|
<hudson.views.WeatherColumn/>
|
||||||
|
<hudson.views.JobColumn/>
|
||||||
|
<hudson.views.LastSuccessColumn/>
|
||||||
|
<hudson.views.LastFailureColumn/>
|
||||||
|
<hudson.views.LastDurationColumn/>
|
||||||
|
<hudson.views.BuildButtonColumn/>
|
||||||
|
</columns>
|
||||||
|
<recurse>false</recurse>
|
||||||
|
</hudson.model.ListView>
|
Loading…
Reference in New Issue