Ranger-Agent Add Image Build & Publish
Adding ranger-agent check and gate to build and publish ranger-agent image to quay.io after successfully using these techniques for ranger Change-Id: I6296eb8007002329594dd254a252f0a4dc5c09f1
This commit is contained in:
parent
0aaed0f5bb
commit
899fe1973f
64
.zuul.yaml
64
.zuul.yaml
@ -3,8 +3,70 @@
|
||||
jobs:
|
||||
- openstack-tox-pep8
|
||||
- openstack-tox-py36
|
||||
|
||||
- ranger-agent-image-build
|
||||
gate:
|
||||
jobs:
|
||||
- openstack-tox-pep8
|
||||
- openstack-tox-py36
|
||||
- ranger-agent-image-publish
|
||||
|
||||
- job:
|
||||
name: ranger-agent-image-build
|
||||
run: tools/zuul/playbooks/docker-image-build.yaml
|
||||
nodeset: ubuntu-bionic
|
||||
vars:
|
||||
publish: false
|
||||
tags:
|
||||
dynamic:
|
||||
patch_set: true
|
||||
irrelevant-files:
|
||||
- ^charts/.*$
|
||||
- ^etc/.*$
|
||||
- ^tests/.*$
|
||||
- ^tools/.*$
|
||||
|
||||
- job:
|
||||
name: ranger-agent-image-publish
|
||||
run: tools/zuul/playbooks/docker-image-build.yaml
|
||||
nodeset: ubuntu-bionic
|
||||
secrets:
|
||||
- ranger_agent_quay_io_credentials
|
||||
vars:
|
||||
publish: true
|
||||
tags:
|
||||
dynamic:
|
||||
branch: true
|
||||
commit: true
|
||||
static:
|
||||
- latest
|
||||
irrelevant-files:
|
||||
- ^charts/.*$
|
||||
- ^etc/.*$
|
||||
- ^tests/.*$
|
||||
- ^tools/.*$
|
||||
|
||||
- secret:
|
||||
name: ranger_agent_quay_io_credentials
|
||||
data:
|
||||
username: !encrypted/pkcs1-oaep
|
||||
- pYzzUDBy/EvLEEgyQpWIhmjTCdPA7pURutmqzu0+810RvQ9mIaLjFPFIIIApwCyx2O1Cc
|
||||
c4Nr8yCa/S1rfoPC+ul/Xey/KWzY++zjcXBE5NkKWlm/KgD6EpDGWruithQTOOnuk8iyX
|
||||
WImegYHe4KjIvfc/mXyWYT7pVrTDill3sjmlu3INWmS8OqulGlZcNKamD+GQhu/Xvapm5
|
||||
6d3LArNc9/re2Tu5uCDSVNANycSrkgxkQWLVugPReWpP6EwHaIXQUzg4uBwgX0/Y+NCzl
|
||||
iyewjNGa+Lm00ydErfkqGwrWcsyM9eFON3u0VNr59c96xtew8KX/f7kQs5A90+5H1VgE1
|
||||
QPvSDpcRRZL5Uc8nlCjj+8vj7J7bezA4V/xLPSAd6DPz/INYJl8CSCpH6QMJPQIKvSnUK
|
||||
eYptHLZLSjhU47pgL+M7O+Myv1g0Nm2cCKBWjROIlhpTrSZ3g2bElkaHI6tVX1oBGFoVZ
|
||||
hPoj86A5Vk0beqxvV6lLWcGu0CZ5LRcy8jPRZH8MIs264QUppVmh4z3svxTe/IKTknbPd
|
||||
01JWIEZxo+SZFua70GVGVHqfp96oSfG6nOFfljpOecPcnUAK7/kwF4VnzHycBlnPXyxK2
|
||||
UVRPwzdDytowR8x+/rAy5HuIv+03J0BBYQqzvY62BxfGYxSnAzV33spOVdAN7c=
|
||||
password: !encrypted/pkcs1-oaep
|
||||
- ceDMs87sc2zRG4pI6UClhuMcy5q9W8I40iX3qosRyaNwGDiBbbZlgGqd9XCYrlq2z0qEz
|
||||
mwOX8eudH0B2gfqytgsOnUsDVbPlJF4dDjGP5UXeqqFMsobWz6iCjDqmeVn6s2CKHFL+l
|
||||
Re72oHXRjSHivDivZ5IqgSL3j6FpyCtJPN+Yplytgcf7lABacruBc5j/UoiVnIYTTvBxK
|
||||
VKrHirNnmcqWg9/fyP7xONV1HT8BgLjth3+bmkprqJ0r9U3UyMG6ViSyXaWiD9OMLgl+H
|
||||
s9cVrxt4NcIp9wi/6st/hRBvbrNNSneY8JQbM+jHjUShqOVVYk83jjRjY6xqORZzcwgsF
|
||||
rApjqrcoaG2CrBrG0Mh/MNUa0LAQFS728nvyh5gx/vR0ID2MbsNE5qtIqG3FeU99b94mj
|
||||
O0Ow/y8QwnJtWeTAA1EKCJfWGlwRnK/X4l/j1eaEXQ3/sss69VEc5Mwdi//8MIONgIuLs
|
||||
KKMPO3DiaucortBy/Z+xxJxbXrMTQxjCnSEjC9JCxD/p5DZwZgnGrMFABF1Ycu0um4FJt
|
||||
aXA1jEkgqh89ppAeVkVRj1RTGFQEHYxSLtvxeCnfdAZ3owDu7RQeQ1wHZCj1C7QoG+tXF
|
||||
yyKLjQ+ExWO5cid8nzqKHUZK4PRj7sUe68XotK6IJG78nyvdfpSeko5SyoD3JY=
|
||||
|
9
Makefile
9
Makefile
@ -18,12 +18,14 @@ IMAGE_PREFIX ?= attcomdev
|
||||
IMAGE_TAG ?= ocata
|
||||
HELM ?= helm
|
||||
LABEL ?= commit-id
|
||||
COMMIT := $(shell git rev-parse HEAD)
|
||||
PROXY ?= http://proxy.foo.com:8000
|
||||
NO_PROXY ?= localhost,127.0.0.1,.svc.cluster.local
|
||||
USE_PROXY ?= false
|
||||
RANGER_AGENT_USER := ranger_agent
|
||||
PUSH_IMAGE := false
|
||||
|
||||
IMAGE := ${DOCKER_REGISTRY}/${IMAGE_PREFIX}/${IMAGE_NAME}:${IMAGE_TAG}
|
||||
IMAGE := ${DOCKER_REGISTRY}/${IMAGE_PREFIX}/${IMAGE_NAME}:${COMMIT}
|
||||
|
||||
# Build ranger-agent Docker image for this project
|
||||
.PHONY: images
|
||||
@ -61,6 +63,10 @@ else
|
||||
docker build --network host -t $(IMAGE) --label $(LABEL) -f Dockerfile --build-arg user=$(RANGER_AGENT_USER) .
|
||||
endif
|
||||
|
||||
ifeq ($(PUSH_IMAGE), true)
|
||||
docker push $(IMAGE)
|
||||
endif
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf build
|
||||
@ -74,4 +80,3 @@ pep8:
|
||||
helm_lint: clean
|
||||
tools/helm_tk.sh $(HELM)
|
||||
$(HELM) lint charts/ranger-agent
|
||||
|
||||
|
89
tools/zuul/playbooks/docker-image-build.yaml
Normal file
89
tools/zuul/playbooks/docker-image-build.yaml
Normal file
@ -0,0 +1,89 @@
|
||||
- hosts: all
|
||||
tasks:
|
||||
- include_vars: vars.yaml
|
||||
|
||||
- name: Install Docker (Debian)
|
||||
when: ansible_os_family == 'Debian'
|
||||
block:
|
||||
- file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- /etc/docker/
|
||||
- /etc/systemd/system/docker.service.d/
|
||||
- /var/lib/docker/
|
||||
- mount:
|
||||
path: /var/lib/docker/
|
||||
src: tmpfs
|
||||
fstype: tmpfs
|
||||
opts: size=25g
|
||||
state: mounted
|
||||
- copy: "{{ item }}"
|
||||
with_items:
|
||||
- content: "{{ docker_daemon | to_json }}"
|
||||
dest: /etc/docker/daemon.json
|
||||
- src: files/docker-systemd.conf
|
||||
dest: /etc/systemd/system/docker.service.d/
|
||||
- apt_key:
|
||||
url: https://download.docker.com/linux/ubuntu/gpg
|
||||
- apt_repository:
|
||||
repo: deb http://{{ zuul_site_mirror_fqdn }}/deb-docker bionic stable
|
||||
- apt:
|
||||
name: "{{ item }}"
|
||||
allow_unauthenticated: True
|
||||
with_items:
|
||||
- docker-ce
|
||||
- python-pip
|
||||
- pip:
|
||||
name: docker
|
||||
version: 2.7.0
|
||||
- iptables:
|
||||
action: insert
|
||||
chain: INPUT
|
||||
in_interface: docker0
|
||||
jump: ACCEPT
|
||||
become: True
|
||||
|
||||
- name: Make images
|
||||
when: not publish
|
||||
block:
|
||||
- make:
|
||||
chdir: "{{ zuul.project.src_dir }}"
|
||||
target: images
|
||||
params:
|
||||
DOCKER_REGISTRY: "quay.io"
|
||||
IMAGE_PREFIX: "attcomdev"
|
||||
|
||||
- shell: "docker images"
|
||||
register: docker_images
|
||||
|
||||
- debug:
|
||||
var: docker_images
|
||||
|
||||
become: True
|
||||
|
||||
- name: Publish images
|
||||
block:
|
||||
- docker_login:
|
||||
username: "{{ ranger_agent_quay_io_credentials.username }}"
|
||||
password: "{{ ranger_agent_quay_io_credentials.password }}"
|
||||
registry_url: "https://quay.io/api/v2/"
|
||||
|
||||
- make:
|
||||
chdir: "{{ zuul.project.src_dir }}"
|
||||
target: images
|
||||
params:
|
||||
LABEL: "org.label-schema.vcs-ref={{ zuul.patchset | default('') }} --label org.label-schema.vcs-url={{ zuul.change | default('') }} --label org.label-schema.version=0.1.0 --label org.label-schema.branch={{ zuul.branch | default('') }}"
|
||||
DOCKER_REGISTRY: "quay.io"
|
||||
IMAGE_PREFIX: "attcomdev"
|
||||
PUSH_IMAGE: "true"
|
||||
|
||||
- shell: "docker images"
|
||||
register: docker_images
|
||||
|
||||
- debug:
|
||||
var: docker_images
|
||||
|
||||
when: publish
|
||||
become: True
|
||||
|
3
tools/zuul/playbooks/files/docker-systemd.conf
Normal file
3
tools/zuul/playbooks/files/docker-systemd.conf
Normal file
@ -0,0 +1,3 @@
|
||||
[Service]
|
||||
ExecStart=
|
||||
ExecStart=/usr/bin/dockerd
|
5
tools/zuul/playbooks/vars.yaml
Normal file
5
tools/zuul/playbooks/vars.yaml
Normal file
@ -0,0 +1,5 @@
|
||||
docker_daemon:
|
||||
group: zuul
|
||||
registry-mirrors:
|
||||
- "http://{{ zuul_site_mirror_fqdn }}:8082/"
|
||||
storage-driver: overlay2
|
Loading…
x
Reference in New Issue
Block a user