Submit Search
Upload
Automatización de despliegues en Openshift con Ansible Tower
•
4 likes
•
1,275 views
Ramón Román Nissen
Follow
Slides for the talk held at Openshift Madrid Meetup on February 22, 2017.
Read less
Read more
Technology
Report
Share
Report
Share
1 of 54
Download now
Download to read offline
Recommended
Docker: Containers Evolved - Dynamic Instantiation of Microservices
Docker: Containers Evolved - Dynamic Instantiation of Microservices
Ramón Román Nissen
Deploying ASP.Net Core apps in Docker Containers
Deploying ASP.Net Core apps in Docker Containers
Amal Dev
Dockerize it! @ Codemotion 2016 in Rome
Dockerize it! @ Codemotion 2016 in Rome
Alessandro Nadalin
Build a lego app with CocoaPods
Build a lego app with CocoaPods
CocoaHeads France
Continuos integration for iOS projects
Continuos integration for iOS projects
Aleksandra Gavrilovska
Say Bye to VMware PowerCLI ! Time to "GOVC"
Say Bye to VMware PowerCLI ! Time to "GOVC"
Ajeet Singh Raina
Ultimate Productivity Tools
Ultimate Productivity Tools
Amal Dev
Framework dynamic par Simone Sivetta
Framework dynamic par Simone Sivetta
CocoaHeads France
Recommended
Docker: Containers Evolved - Dynamic Instantiation of Microservices
Docker: Containers Evolved - Dynamic Instantiation of Microservices
Ramón Román Nissen
Deploying ASP.Net Core apps in Docker Containers
Deploying ASP.Net Core apps in Docker Containers
Amal Dev
Dockerize it! @ Codemotion 2016 in Rome
Dockerize it! @ Codemotion 2016 in Rome
Alessandro Nadalin
Build a lego app with CocoaPods
Build a lego app with CocoaPods
CocoaHeads France
Continuos integration for iOS projects
Continuos integration for iOS projects
Aleksandra Gavrilovska
Say Bye to VMware PowerCLI ! Time to "GOVC"
Say Bye to VMware PowerCLI ! Time to "GOVC"
Ajeet Singh Raina
Ultimate Productivity Tools
Ultimate Productivity Tools
Amal Dev
Framework dynamic par Simone Sivetta
Framework dynamic par Simone Sivetta
CocoaHeads France
Testing - Selenium? Rich-Clients? Containers?
Testing - Selenium? Rich-Clients? Containers?
Tobias Schneck
Developer South Coast 2018: Modernizing .NET Apps with Docker
Developer South Coast 2018: Modernizing .NET Apps with Docker
Elton Stoneman
你不可不知的 ASP.NET Core 3 全新功能探索 (.NET Conf 2019)
你不可不知的 ASP.NET Core 3 全新功能探索 (.NET Conf 2019)
Will Huang
Fastlane - Automation and Continuous Delivery for iOS Apps
Fastlane - Automation and Continuous Delivery for iOS Apps
Sarath C
Delivery Pipeline for Windows Machines
Delivery Pipeline for Windows Machines
Dmitry Buzdin
BelfastJUG, Spring Boot + Docker
BelfastJUG, Spring Boot + Docker
Hudson Mendes
DevOps Workflow: A Tutorial on Linux Containers
DevOps Workflow: A Tutorial on Linux Containers
inside-BigData.com
Java Day Kharkiv - Next-gen engineering with Docker and Kubernetes
Java Day Kharkiv - Next-gen engineering with Docker and Kubernetes
Antons Kranga
Android Jetpack + Coroutines: To infinity and beyond
Android Jetpack + Coroutines: To infinity and beyond
Ramon Ribeiro Rabello
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
Marc Müller
Front matter: Next Level Front End Deployments on OpenShift
Front matter: Next Level Front End Deployments on OpenShift
Lance Ball
CI/CD with Docker on AWS
CI/CD with Docker on AWS
Hart Hoover
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
Andrey Karpov
Docker containers on Windows
Docker containers on Windows
Maurice De Beijer [MVP]
Test your Kubernetes operator with Operator Lifecycle Management
Test your Kubernetes operator with Operator Lifecycle Management
Baiju Muthukadan
REST to JavaScript for Better Client-side Development
REST to JavaScript for Better Client-side Development
Hyunghun Cho
Deploy Angular to the Cloud (ngBucharest)
Deploy Angular to the Cloud (ngBucharest)
Simona Cotin
ASP.NET vNext the future of ASP
ASP.NET vNext the future of ASP
Clément Hallet
Drone Continuous Integration
Drone Continuous Integration
Daniel Cerecedo
Jazoon12 355 aleksandra_gavrilovska-1
Jazoon12 355 aleksandra_gavrilovska-1
Netcetera
Microservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMware
Antonio Gallego
Optimizing DevOps in the Enterprise, Eyal Edri & Oded Ramraz, Red Hat
Optimizing DevOps in the Enterprise, Eyal Edri & Oded Ramraz, Red Hat
DevOpsDays Tel Aviv
More Related Content
What's hot
Testing - Selenium? Rich-Clients? Containers?
Testing - Selenium? Rich-Clients? Containers?
Tobias Schneck
Developer South Coast 2018: Modernizing .NET Apps with Docker
Developer South Coast 2018: Modernizing .NET Apps with Docker
Elton Stoneman
你不可不知的 ASP.NET Core 3 全新功能探索 (.NET Conf 2019)
你不可不知的 ASP.NET Core 3 全新功能探索 (.NET Conf 2019)
Will Huang
Fastlane - Automation and Continuous Delivery for iOS Apps
Fastlane - Automation and Continuous Delivery for iOS Apps
Sarath C
Delivery Pipeline for Windows Machines
Delivery Pipeline for Windows Machines
Dmitry Buzdin
BelfastJUG, Spring Boot + Docker
BelfastJUG, Spring Boot + Docker
Hudson Mendes
DevOps Workflow: A Tutorial on Linux Containers
DevOps Workflow: A Tutorial on Linux Containers
inside-BigData.com
Java Day Kharkiv - Next-gen engineering with Docker and Kubernetes
Java Day Kharkiv - Next-gen engineering with Docker and Kubernetes
Antons Kranga
Android Jetpack + Coroutines: To infinity and beyond
Android Jetpack + Coroutines: To infinity and beyond
Ramon Ribeiro Rabello
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
Marc Müller
Front matter: Next Level Front End Deployments on OpenShift
Front matter: Next Level Front End Deployments on OpenShift
Lance Ball
CI/CD with Docker on AWS
CI/CD with Docker on AWS
Hart Hoover
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
Andrey Karpov
Docker containers on Windows
Docker containers on Windows
Maurice De Beijer [MVP]
Test your Kubernetes operator with Operator Lifecycle Management
Test your Kubernetes operator with Operator Lifecycle Management
Baiju Muthukadan
REST to JavaScript for Better Client-side Development
REST to JavaScript for Better Client-side Development
Hyunghun Cho
Deploy Angular to the Cloud (ngBucharest)
Deploy Angular to the Cloud (ngBucharest)
Simona Cotin
ASP.NET vNext the future of ASP
ASP.NET vNext the future of ASP
Clément Hallet
Drone Continuous Integration
Drone Continuous Integration
Daniel Cerecedo
Jazoon12 355 aleksandra_gavrilovska-1
Jazoon12 355 aleksandra_gavrilovska-1
Netcetera
What's hot
(20)
Testing - Selenium? Rich-Clients? Containers?
Testing - Selenium? Rich-Clients? Containers?
Developer South Coast 2018: Modernizing .NET Apps with Docker
Developer South Coast 2018: Modernizing .NET Apps with Docker
你不可不知的 ASP.NET Core 3 全新功能探索 (.NET Conf 2019)
你不可不知的 ASP.NET Core 3 全新功能探索 (.NET Conf 2019)
Fastlane - Automation and Continuous Delivery for iOS Apps
Fastlane - Automation and Continuous Delivery for iOS Apps
Delivery Pipeline for Windows Machines
Delivery Pipeline for Windows Machines
BelfastJUG, Spring Boot + Docker
BelfastJUG, Spring Boot + Docker
DevOps Workflow: A Tutorial on Linux Containers
DevOps Workflow: A Tutorial on Linux Containers
Java Day Kharkiv - Next-gen engineering with Docker and Kubernetes
Java Day Kharkiv - Next-gen engineering with Docker and Kubernetes
Android Jetpack + Coroutines: To infinity and beyond
Android Jetpack + Coroutines: To infinity and beyond
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
Experts Live Switzerland 2017 - Automatisierte Docker Release Pipeline mit VS...
Front matter: Next Level Front End Deployments on OpenShift
Front matter: Next Level Front End Deployments on OpenShift
CI/CD with Docker on AWS
CI/CD with Docker on AWS
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
PVS-Studio: analyzing pull requests in Azure DevOps using self-hosted agents
Docker containers on Windows
Docker containers on Windows
Test your Kubernetes operator with Operator Lifecycle Management
Test your Kubernetes operator with Operator Lifecycle Management
REST to JavaScript for Better Client-side Development
REST to JavaScript for Better Client-side Development
Deploy Angular to the Cloud (ngBucharest)
Deploy Angular to the Cloud (ngBucharest)
ASP.NET vNext the future of ASP
ASP.NET vNext the future of ASP
Drone Continuous Integration
Drone Continuous Integration
Jazoon12 355 aleksandra_gavrilovska-1
Jazoon12 355 aleksandra_gavrilovska-1
Viewers also liked
Microservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMware
Antonio Gallego
Optimizing DevOps in the Enterprise, Eyal Edri & Oded Ramraz, Red Hat
Optimizing DevOps in the Enterprise, Eyal Edri & Oded Ramraz, Red Hat
DevOpsDays Tel Aviv
Cloud gaming
Cloud gaming
marco7895
Metodologias de desarrollo de software en Gaming [EA]
Metodologias de desarrollo de software en Gaming [EA]
Globant
Designing a pragmatic back-end service for mobile games
Designing a pragmatic back-end service for mobile games
iFunFactory Inc.
Secrets in Kubernetes
Secrets in Kubernetes
Jerry Jalava
Realidad Virtual Nuevos Mundos Para La Psicoterapia Mackay
Realidad Virtual Nuevos Mundos Para La Psicoterapia Mackay
mackayunah
Scalable Gaming with AWS - GDC 2014
Scalable Gaming with AWS - GDC 2014
Nate Wiger
GDC 2015 - Low-latency Multiplayer Gaming with AWS
GDC 2015 - Low-latency Multiplayer Gaming with AWS
Nate Wiger
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
MongoDB
Metodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en Gaming
Globant
Viewers also liked
(11)
Microservicios sobre tecnologías Pivotal y VMware
Microservicios sobre tecnologías Pivotal y VMware
Optimizing DevOps in the Enterprise, Eyal Edri & Oded Ramraz, Red Hat
Optimizing DevOps in the Enterprise, Eyal Edri & Oded Ramraz, Red Hat
Cloud gaming
Cloud gaming
Metodologias de desarrollo de software en Gaming [EA]
Metodologias de desarrollo de software en Gaming [EA]
Designing a pragmatic back-end service for mobile games
Designing a pragmatic back-end service for mobile games
Secrets in Kubernetes
Secrets in Kubernetes
Realidad Virtual Nuevos Mundos Para La Psicoterapia Mackay
Realidad Virtual Nuevos Mundos Para La Psicoterapia Mackay
Scalable Gaming with AWS - GDC 2014
Scalable Gaming with AWS - GDC 2014
GDC 2015 - Low-latency Multiplayer Gaming with AWS
GDC 2015 - Low-latency Multiplayer Gaming with AWS
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
Seminario Web MongoDB-Paradigma: Cree aplicaciones más escalables utilizando ...
Metodologías de desarrollo de software en Gaming
Metodologías de desarrollo de software en Gaming
Similar to Automatización de despliegues en Openshift con Ansible Tower
Continous Delivery to Kubernetes using Helm
Continous Delivery to Kubernetes using Helm
Bitnami
Viktor Tsykunov "Microsoft AI platform for every Developer"
Viktor Tsykunov "Microsoft AI platform for every Developer"
Lviv Startup Club
Heroku pop-behind-the-sense
Heroku pop-behind-the-sense
Ben Lin
How to create your own hack environment
How to create your own hack environment
Sumedt Jitpukdebodin
Lessons from a year of building apps with React Native
Lessons from a year of building apps with React Native
Ryan Boland
Gigigo Rails Workshop
Gigigo Rails Workshop
Alex Rupérez
Keeping the frontend under control with Symfony and Webpack
Keeping the frontend under control with Symfony and Webpack
Ignacio Martín
Easy Cloud Native Transformation using HashiCorp Nomad
Easy Cloud Native Transformation using HashiCorp Nomad
Bram Vogelaar
Building and deploying React applications
Building and deploying React applications
Astrails
Refresh Austin - Intro to Dexy
Refresh Austin - Intro to Dexy
ananelson
Drupal Recipes: Building Image Galleries with jQuery and Flickr
Drupal Recipes: Building Image Galleries with jQuery and Flickr
Ben Shell
Ship your Scala code often and easy with Docker
Ship your Scala code often and easy with Docker
Marcus Lönnberg
When Smalltalk Meets the Web
When Smalltalk Meets the Web
ESUG
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
LeanIX GmbH
Jeroen Vloothuis Bend Kss To Your Will
Jeroen Vloothuis Bend Kss To Your Will
Vincenzo Barone
Cloud Endpoints_Polymer_Material design by Martin Görner
Cloud Endpoints_Polymer_Material design by Martin Görner
European Innovation Academy
Cutting through the fog of cloud
Cutting through the fog of cloud
Kyle Rames
Easy Path to Machine Learning (2019)
Easy Path to Machine Learning (2019)
wesley chun
reactjs-quiz..docs.pdf
reactjs-quiz..docs.pdf
AyanSarkar78
Node Summit 2018: Cloud Native Node.js
Node Summit 2018: Cloud Native Node.js
Chris Bailey
Similar to Automatización de despliegues en Openshift con Ansible Tower
(20)
Continous Delivery to Kubernetes using Helm
Continous Delivery to Kubernetes using Helm
Viktor Tsykunov "Microsoft AI platform for every Developer"
Viktor Tsykunov "Microsoft AI platform for every Developer"
Heroku pop-behind-the-sense
Heroku pop-behind-the-sense
How to create your own hack environment
How to create your own hack environment
Lessons from a year of building apps with React Native
Lessons from a year of building apps with React Native
Gigigo Rails Workshop
Gigigo Rails Workshop
Keeping the frontend under control with Symfony and Webpack
Keeping the frontend under control with Symfony and Webpack
Easy Cloud Native Transformation using HashiCorp Nomad
Easy Cloud Native Transformation using HashiCorp Nomad
Building and deploying React applications
Building and deploying React applications
Refresh Austin - Intro to Dexy
Refresh Austin - Intro to Dexy
Drupal Recipes: Building Image Galleries with jQuery and Flickr
Drupal Recipes: Building Image Galleries with jQuery and Flickr
Ship your Scala code often and easy with Docker
Ship your Scala code often and easy with Docker
When Smalltalk Meets the Web
When Smalltalk Meets the Web
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Tech Talk: DevOps at LeanIX @ Startup Camp Berlin
Jeroen Vloothuis Bend Kss To Your Will
Jeroen Vloothuis Bend Kss To Your Will
Cloud Endpoints_Polymer_Material design by Martin Görner
Cloud Endpoints_Polymer_Material design by Martin Görner
Cutting through the fog of cloud
Cutting through the fog of cloud
Easy Path to Machine Learning (2019)
Easy Path to Machine Learning (2019)
reactjs-quiz..docs.pdf
reactjs-quiz..docs.pdf
Node Summit 2018: Cloud Native Node.js
Node Summit 2018: Cloud Native Node.js
Recently uploaded
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Andrey Devyatkin
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Rafal Los
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Gabriella Davis
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
RTylerCroy
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
lior mazor
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Roshan Dwivedi
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
apidays
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
The Digital Insurer
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Martijn de Jong
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
UK Journal
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
sammart93
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Neo4j
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
apidays
Recently uploaded
(20)
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Automatización de despliegues en Openshift con Ansible Tower
1.
AUTOMATIZACIÓN DE DESPLIEGUES EN OPENSHIFT
CON ANSIBLE TOWER
2.
Ramón Román Nissen Senior
Middleware Consultant rroman@redhat.com @rromannissen
3.
Ramón Román Nissen Senior
Middleware Consultant rroman@redhat.com @rromannissen
4.
OJOCUIDAO Esta no es
una charla oficial de Red Hat. Las opiniones y enfoques técnicos son propios y no necesariamente están alineados con los de Red Hat
5.
JENKINS PIPELINE CREATE PROJECTS BUILD IMAGE CONFIGURE PROJECTS TAG
IMAGES CREATE OBJECTS
6.
ACTORES
7.
8.
9.
10.
11.
12.
13.
14.
ORGANIZATION PROJECT 1 INVENTORY
1 INVENTORY N INVENTORY SCRIPT 1 INVENTORY SCRIPT N NOTIFICATION 1 NOTIFICATION N CREDENTIAL 1 CREDENTIAL N JOB TEMPLATE 1 JOB TEMPLATE N
15.
JOB TEMPLATE PLAYBOOK INVENTORY VARIABLE 1 VARIABLE
N VARIABLE N+1 VARIABLE M SURVEY PROMPT 1 SURVEY PROMPT N
16.
PROJECT Repo _ roles _ check_availability _
tasks _ templates _ download_artifacts _ copy_modules _ deploy_aftifacts _ check_deployment _ notify_mail _ eap_deployment.yml roles: - check_availability - download_artifacts - copy_modules - deploy_artifacts - check_deployment - notify_mail JOB N Version: 3.0.4 JOB 2 Version: 3.0.4 JOB 1 Version: 3.0.4 JOB TEMPLATE N Inventory: Inventory 1 Playbook: eap_deployment Variables: - artifact_group: com.ins - artifact_id: webportal - nexus_url: ins.com/nexus - admin_mail: sys@ins.com Surveys: - version JOB TEMPLATE 2 Inventory: Inventory 1 Playbook: eap_deployment Variables: - artifact_group: com.ins - artifact_id: webportal - nexus_url: ins.com/nexus - admin_mail: sys@ins.com Surveys: - version JOB TEMPLATE 1 Inventory: Inventory 1 Playbook: eap_deployment Variables: - artifact_group: com.ins - artifact_id: webportal - nexus_url: ins.com/nexus Surveys: - version INVENTORY N [appserver] eap1.ins.com eap2.ins.com [webserver] httpd1.ins.com [db] posgres.ins.com INVENTORY 2 [appserver] eap1.ins.com eap2.ins.com [webserver] httpd1.ins.com [db] posgres.ins.com INVENTORY 1 [appserver] eap1.ins.com eap2.ins.com [webserver] httpd1.ins.com [db] posgres.ins.com
17.
18.
19.
20.
ARQUITECTURA
21.
INTERNAL DOCKER REGISTRYDOCKER
DAEMON TOWER CLI OPENSHIFT CLI OPENSHIFT API
22.
INTERNAL DOCKER REGISTRYDOCKER
DAEMON TOWER CLI OPENSHIFT CLI OPENSHIFT API HOST
23.
APLICACIÓN
24.
https://github.com/gshipley/openshift3mlbparks
25.
https://github.com/gshipley/openshift3mlbparks
26.
https://www.openshift.com/promotions/for-developers.html
27.
POD POD
28.
POD SECRET VOLUME USERNAME PASSWORD /tmp/secret
29.
STAGES
30.
JENKINS PIPELINE CREATE PROJECTS BUILD IMAGE CONFIGURE PROJECTS TAG IMAGES CREATE OBJECTS
31.
JENKINS PIPELINE CREATE PROJECTS BUILD IMAGE CONFIGURE PROJECTS TAG IMAGES CREATE OBJECTS
32.
--- - name: '[Global]
Create projects' hosts: bastion become: false roles: - role: ocp_login - role: create_projects
33.
- name: '[Create
Projects] Create DEV project' command: "{{ OC_CLIENT_PATH }}/oc new-project {{ SERVICE_NAME }}-dev" register: result ignore_errors: True ...
34.
JENKINS PIPELINE CREATE PROJECTS BUILD IMAGE CONFIGURE PROJECTS TAG IMAGES CREATE OBJECTS
35.
--- - name: '[Global]
Build Image' hosts: bastion become: false roles: - role: ocp_login - role: create-clean-workspace - role: build_image
36.
- name: '[Build
Image] Get user token' command: "{{ OC_CLIENT_PATH }}/oc whoami -t" register: whoami_result - name: '[Build Image] Login to OCP registry' command: "docker login -u {{ OCP_USER }} -p {{ whoami_result.stdout }} {{ OC_REGISTRY_URL }}" register: login_result until: login_result.stderr == "" retries: 10 delay: 3
37.
- name: '[Build
Image] Build image from Dockerfile' command: "docker build -t {{ OC_REGISTRY_URL }}/ {{ SERVICE_NAME }}-dev/{{ SERVICE_NAME }} {{ DOWNLOAD_PATH }} /{{ SERVICE_NAME }}" - name: '[Build Image] Push image to the OCP registry' command: "docker push {{ OC_REGISTRY_URL }}/{{ SERVICE_NAME}} -dev/{{ SERVICE_NAME }}" register: push_result until: push_result.stderr == "" retries: 10 delay: 3
38.
JENKINS PIPELINE CREATE PROJECTS BUILD IMAGE CONFIGURE PROJECTS TAG IMAGES CREATE OBJECTS
39.
--- - name: '[Global]
Configure projects' hosts: bastion become: false roles: - role: ocp_login - role: create-clean-workspace - role: config_project
40.
SECRET VOLUME USERNAME PASSWORD POD
41.
SECRET VOLUME USERNAME PASSWORD POD /tmp/secret
42.
{ "apiVersion": "v1", "kind": "Secret", "metadata":
{ "name": "db-secret" }, "namespace": "{{ SERVICE_NAME }}", "data": { "username": "{{ item.user| b64encode }}", "password": "{{ item.pass | b64encode }}" } }
43.
- name: '[Configure
Projects] Create secret file from template' template: src: db-secret.json.j2 dest: "{{ DOWNLOAD_PATH }}/{{ SERVICE_NAME }}/db-secret-{{item.env}}.json" with_items: - { env: "dev", user: "{{ DB_USER_DEV }}", pass: "{{ DB_PASS_DEV }}"} - { env: "pre", user: "{{ DB_USER_PRE }}", pass: "{{ DB_PASS_PRE }}"} - { env: "pro", user: "{{ DB_USER_PRO }}", pass: "{{ DB_PASS_PRO }}"}
44.
- name: '[Configure
Projects] Create DEV secret' command: "{{ OC_CLIENT_PATH }}/oc create -f {{ DOWNLOAD_PATH }}/{{ SERVICE_NAME }}/db-secret-dev.json"
45.
- name: '[Configure
Projects] Create DEV template' command: "{{ OC_CLIENT_PATH }}/oc create -f {{ DOWNLOAD_PATH }}/{{ SERVICE_NAME }}/template.json"
46.
- name: '[Configure
Projects] Enable image pulling from DEV' command: "{{ OC_CLIENT_PATH }}/oc policy add-role-to-group system:image-puller system:serviceaccounts:{{ SERVICE_NAME }}-{{ item.env }} --namespace={{ SERVICE_NAME }}-dev" with_items: - { env: "pre"} - { env: "pro"} when: result|succeeded
47.
JENKINS PIPELINE CREATE PROJECTS BUILD IMAGE CONFIGURE PROJECTS TAG IMAGES CREATE OBJECTS
48.
--- - name: '[Global]
Tag Images' hosts: bastion become: false roles: - role: ocp_login - role: tag_images
49.
- name: '[Tag
Images] Tag DEV image' command: "{{ OC_CLIENT_PATH }}/oc tag {{ SERVICE_NAME }} :latest {{ SERVICE_NAME }}:{{ SERVICE_NAME }}-dev" - name: '[Tag Images] Tag PRE image' command: "{{ OC_CLIENT_PATH }}/oc tag {{ SERVICE_NAME }} :latest {{ SERVICE_NAME }}:{{ SERVICE_NAME }}-pre" when: (TARGET_ENVIRONMENT == "PRE") or (TARGET_ENVIRONMENT == "PRO") - name: '[Tag Images] Tag PRO image' command: "{{ OC_CLIENT_PATH }}/oc tag {{ SERVICE_NAME }} :latest {{ SERVICE_NAME }}:{{ SERVICE_NAME }}-pro" when: (TARGET_ENVIRONMENT == "PRO")
50.
JENKINS PIPELINE CREATE PROJECTS BUILD IMAGE CONFIGURE PROJECTS TAG IMAGES CREATE OBJECTS
51.
- name: '[Create
Objects] Process template' command: "{{ OC_CLIENT_PATH }}/oc process {{ TEMPLATE_NAME }} -v APPLICATION_NAME={{ SERVICE_NAME }} ,ENV={{ ENV }},MONGODB_USER={{ MONGODB_USER }} ,MONGODB_PASSWORD={{ MONGODB_PASSWORD }} ,MONGODB_DATABASE={{ MONGODB_DATABASE }} ,MONGODB_ADMIN_PASSWORD={{ MONGODB_ADMIN_PASSWORD }} ,CONTEXT={{ ARTIFACT_ID }}-{{ ARTIFACT_VERSION }}" register: output
52.
- name: '[Create
Objects] Create objects file' copy: content: "{{ output.stdout }}" dest: "{{ DOWNLOAD_PATH }}/{{ SERVICE_NAME }} /objects.json" - name: '[Create Objects] Create objects from file' command: "{{ OC_CLIENT_PATH }}/oc create -f {{ DOWNLOAD_PATH }}/{{ SERVICE_NAME }}/objects.json" ignore_errors: True
53.
DEMO
54.
GRACIAS!!
Download now