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:
jh629g 2019-11-21 17:13:42 -06:00
parent 0aaed0f5bb
commit 899fe1973f
5 changed files with 167 additions and 3 deletions

View File

@ -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=

View File

@ -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

View 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

View File

@ -0,0 +1,3 @@
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd

View File

@ -0,0 +1,5 @@
docker_daemon:
group: zuul
registry-mirrors:
- "http://{{ zuul_site_mirror_fqdn }}:8082/"
storage-driver: overlay2