62 lines
2.1 KiB
JSON
62 lines
2.1 KiB
JSON
{
|
|
"variables": {
|
|
"ci_job_id": "{{env `CI_JOB_ID`}}",
|
|
"ci_commit_sha": "{{env `CI_COMMIT_SHA`}}",
|
|
"ci_commit_tag": "{{env `CI_COMMIT_TAG`}}",
|
|
"ci_commit_ref_name": "{{env `CI_COMMIT_REF_NAME`}}",
|
|
"ci_commit_ref_slug": "{{env `CI_COMMIT_REF_SLUG`}}",
|
|
"ci_job_name": "{{env `CI_JOB_NAME`}}",
|
|
"ci_job_stage": "{{env `CI_JOB_STAGE`}}",
|
|
"ci_repository_url": "{{env `CI_REPOSITORY_URL`}}",
|
|
"ci_pipeline_triggered": "{{env `PIPELINE_TRIGGERED`}}",
|
|
"ci_job_manual": "{{env `CI_JOB_MANUAL`}}"
|
|
},
|
|
"builders":
|
|
[
|
|
{
|
|
"type": "docker",
|
|
"image": "debian:stretch",
|
|
"export_path": "build/rootfs.tar"
|
|
}
|
|
],
|
|
"provisioners": [
|
|
{
|
|
"type": "shell",
|
|
"inline": [ "mkdir -p /etc/initramfs-tools/scripts/local-premount/" ]
|
|
},
|
|
{
|
|
"type": "file",
|
|
"source": "initramfs/labsync",
|
|
"destination": "/etc/initramfs-tools/scripts/"
|
|
},
|
|
{
|
|
"type": "file",
|
|
"source": "initramfs/labsync-prereqs",
|
|
"destination": "/etc/initramfs-tools/scripts/local-premount/"
|
|
},
|
|
{
|
|
"type": "shell",
|
|
"inline": [
|
|
"echo \"job: {{user `ci_job_id`}}\" > /.build-info",
|
|
"echo \"commit: {{user `ci_commit_sha`}}\" >> /.build-info",
|
|
"echo \"commit tag: {{user `ci_commit_tag`}}\" >> /.build-info",
|
|
"echo \"commit ref name: {{user `ci_commit_ref_name`}}\" >> /.build-info",
|
|
"echo \"commit ref slug: {{user `ci_commit_ref_slug`}}\" >> /.build-info",
|
|
"apt-get update",
|
|
"apt-get -y dist-upgrade",
|
|
"apt-get -y install aria2 initramfs-tools linux-image-amd64 openssh-server python",
|
|
"echo 'RESUME=none' > /etc/initramfs-tools/conf.d/resume",
|
|
"echo squashfs >> /etc/initramfs-tools/modules",
|
|
"echo overlay >> /etc/initramfs-tools/modules",
|
|
"mkdir /artifacts",
|
|
"mkinitramfs -o /artifacts/initramfs $(find /boot -name 'vmlinuz-*' -printf '%f\\n' | sed 's/^vmlinuz-//')",
|
|
"cp $(find /boot -name 'vmlinuz-*' | sort -V | tail -n 1) /artifacts/linux"
|
|
]
|
|
},
|
|
{
|
|
"type": "ansible",
|
|
"playbook_file": "ansible/playbook.yml",
|
|
"user": "root"
|
|
}
|
|
]
|
|
}
|