Add ci pipeline.
This commit is contained in:
parent
b11f3ae950
commit
b2cc69304c
1 changed files with 118 additions and 0 deletions
118
ci/pipeline.yml
Normal file
118
ci/pipeline.yml
Normal file
|
@ -0,0 +1,118 @@
|
|||
---
|
||||
resource_types:
|
||||
- name: oci-image
|
||||
type: registry-image
|
||||
source:
|
||||
repository: redxef/concourse-oci-resource
|
||||
tag: latest
|
||||
|
||||
resources:
|
||||
- name: source
|
||||
type: git
|
||||
source:
|
||||
uri: https://gitea.redxef.at/redxef/ovhddns
|
||||
branch: master
|
||||
fetch_tags: true
|
||||
- name: upstream-image
|
||||
type: registry-image
|
||||
source:
|
||||
repository: alpine
|
||||
- name: image
|
||||
type: oci-image
|
||||
source:
|
||||
repository: redxef/ovhddns
|
||||
tag: edge
|
||||
username: ((docker.username))
|
||||
password: ((docker.password))
|
||||
|
||||
jobs:
|
||||
- name: build-push-edge
|
||||
plan:
|
||||
- get: source
|
||||
trigger: true
|
||||
- get: upstream-image
|
||||
trigger: true
|
||||
- task: compute-docker-tags
|
||||
config:
|
||||
platform: linux
|
||||
image_resource:
|
||||
type: registry-image
|
||||
source:
|
||||
repository: alpine/git
|
||||
inputs:
|
||||
- name: source
|
||||
path: .
|
||||
outputs:
|
||||
- name: docker-tags
|
||||
run:
|
||||
path: sh
|
||||
args:
|
||||
- -c
|
||||
- |
|
||||
#!/usr/bin/env sh
|
||||
git rev-parse --short HEAD > docker-tags/tags.txt
|
||||
git show-ref --tags | \
|
||||
sed -n "/$(git rev-parse HEAD)/ s|$(git rev-parse HEAD).refs/tags/||gp" \
|
||||
>> docker-tags/tags.txt
|
||||
- task: build
|
||||
privileged: true
|
||||
config:
|
||||
platform: linux
|
||||
image_resource:
|
||||
type: registry-image
|
||||
source:
|
||||
repository: redxef/concourse-buildkit
|
||||
inputs:
|
||||
- name: source
|
||||
path: .
|
||||
outputs:
|
||||
- name: build-output
|
||||
params:
|
||||
dest: build-output/image.tar
|
||||
platform: aarch64,arm,i386,ppc64le,s390x,x86_64
|
||||
run:
|
||||
path: build
|
||||
- put: image
|
||||
inputs:
|
||||
- build-output
|
||||
- docker-tags
|
||||
params:
|
||||
image: build-output/image.tar
|
||||
additional_tags: docker-tags/tags.txt
|
||||
|
||||
- name: test
|
||||
plan:
|
||||
- get: image
|
||||
trigger: true
|
||||
passed:
|
||||
- build-push-edge
|
||||
|
||||
- name: tag-latest
|
||||
plan:
|
||||
- get: image
|
||||
trigger: true
|
||||
passed:
|
||||
- test
|
||||
- task: write-latest-file
|
||||
config:
|
||||
platform: linux
|
||||
image_resource:
|
||||
type: registry-image
|
||||
source:
|
||||
repository: alpine
|
||||
outputs:
|
||||
- name: latest-tag
|
||||
run:
|
||||
path: sh
|
||||
args:
|
||||
- -c
|
||||
- |
|
||||
#!/usr/bin/env sh
|
||||
echo latest > latest-tag/tags.txt
|
||||
- put: image
|
||||
inputs:
|
||||
- image
|
||||
- latest-tag
|
||||
params:
|
||||
image: image/image.tar
|
||||
additional_tags: latest-tag/tags.txt
|
Loading…
Reference in a new issue