Submit Search
Upload
Automatización de despliegues en OpenShift con Ansible Tower
•
4 likes
•
1,275 views
AI-enhanced title
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
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Radu Cotescu
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Gabriella Davis
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
Pixlogix Infotech
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
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
The Digital Insurer
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
Safe Software
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Michael W. Hawkins
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
gurkirankumar98700
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
Scott Keck-Warren
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
OnBoard
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Enterprise Knowledge
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
naman860154
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
2toLead Limited
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
hans926745
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
Sujit Pal
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
HampshireHUG
Recently uploaded
(20)
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
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