SlideShare une entreprise Scribd logo
1  sur  42
Adm04.The Lazy Admin Wins
the Game. A 'How To' guide
Daniele Vistalli @ Factor-y Srl
Matteo Bisi @ Factor-y Srl
1#engageug
Our Agenda
• Our "lazyness" defininition
• Tools available
• Some examples
• Links
2#engageug
3
Daniele Vistalli – CEO & CTO
IBM Champion Social Business 2017,2018
Social:
• @danielevistalli
• https://www.linkedin.com/in/dvistalli
• daniele.vistalli@factor-y.com
4
Matteo Bisi – Senior System Engineer
IBM Champion Social Business 2014,15,16,17,18
Blogger – www.msbiro.net, blog.msbiro.net
Social:
• @mbisi78
• https://it.linkedin.com/in/matteobisi
• matteo.bisi@factor-y.com
Let’s set expectations
1. This is not a crash course
2. You won’t be throwing your way of life out of the
window right after this presentation
3. This is an introductory overview of tools you may or
may not know, please interact & share experience
4. Everything happens in steps, choose the one that fits
your need better and start improving your life with
some laziness. Don’t try to do it all at once.. that’s
anti-lazy
5
"lazyness" defined
Our lazy admin
• Can do his work, he’s a pro
• Does not avoid learning new tricks
but
• He is smart enough to not reinvent the wheel
6
Everyday problems
Memory loss ... how was that command ???
Configuration issues ... I changed it last
week.. what was before
Tedious work .... A lot of mouse click (or cut
& paste)
7
Tools of the modern (lazy) admin
• Git
• Ansible
• Jenkins
• Special mention:
• IBM Installation Manager
9#engageug
Git is your «time machine»
Version everything to prevent memory loss
10
git
Git is born in 2005 to manage sources of the “simplest”
project ever: The Linux Kernel
Today it is the de-facto standard for
• source code (or any kind of file based repository) tracking
and versioning
• NPM Modules, Node Projects, Java, Ansible, Jenkins…
add your own
• Available everywhere, integrated everywere
11#engageug
Git manages «Repositories»
• Git is extremely complex (if you like to deep dive)
• Git is extremely easy (if you focus on your need)
A repository is a directory containing:
• Your code, let’s call this the «working copy»
• Git history files and configuration, in the .git hidden folder
Create a repository >> git init
• It adds a «.git» folder to your directory
• Nothing is added to the history so far
12#engageug
Working on sources and staging
Work in your directory as you do today
• Add files
• Make changes
• Delete files
Now it’s time to manage your changes:
git status: shows you changes
git add: tells git you want to «track» changes on a file
git rm: removes a file
git commit: saves your chages into a «commit» giving the changeset a trackable
identifier and a comment
Many options exist, you learn over time, or you use a powerful client (eg. SourceTree) 13#engageug
Introducing «Remotes»
• You can use git «locally» and have an entire version control but if you need
to
• Share & work with others
• Secure yourself a backup
Then you need «Remotes» or «Remote repository»
A server-based replica of the repository from which you can
• pull changes
• and then push your modifications
Servers: GitHub / BitBucket / GitLab / Git Server
14#engageug
Branches
If you need to test changes:
1. Create a «branch»
2. Make your changes
3. Stage your changes & commit
4. Test your changes (build, deploy, whatever)
All your changes are in a «branch», those changes to not impact other’s work
till you decide to «merge».
You can have as many branches as you like.
You want to have a «master» branch which represents the real/true/valid
content for your project 15#engageug
Merges
After you created branches you may need to consolidate
• Make a valid change into the «master» branch
• Accept changes done by others and consolidate
Merging is a process:
1. Involves 2 branches
2. A source and a target
3. Applies «diffs» and resolution to changes on files
4. Creates a new «commit» in the target branch with the
merged files
16#engageug
A few resources
• SourceTree (my favorite UI client)
• The Git Book: https://git-scm.com/book/en/v2
• This is a good ready, don’t try to memorize it
• The GitFlow Workflow (most important for developers,
but better you know)
• https://www.atlassian.com/git/tutorials/comparing-
workflows/gitflow-workflow
• http://nvie.com/posts/a-successful-git-branching-model/
17#engageug
Admin’s usage of Git (a few ideas)
In a CI/CD environment
• Is the source for code / scripts
In an «ansible» context
• Manage your inventories and playbooks
• Create modules & roles
In an IBM Connections World (we use it)
• Store & track changes to LotusConnectionsConfig folder
• Store & track connections customizations
• Store & track «TDISOL»
18#engageug
Jenkins, your butler
Computers were created to take work away from you … let’s do
it
19#engageug
Jenkins
Jenkins is a CI / CD server to do work in place of you
• CI : Continuous integration
• CD: Continuous delivery
Born in 2004 at Sun as “Hudson” it later was forked by the
community as Jenkins. Oracle claimed Hudson as its
trademarks. The community went away.
Guess what… Jenkins is today the winner.
Get it at: https://jenkins.io/
20#engageug
What can Jenkins do for me
If it’s repeatable, Jenkins can help, and adds:
• Configuration repository for «Jobs» & «Pipelines»
• Credentials store (so you don’t save password in code/scripts)
• Plugins (to integrate anything)
• Historical perspective on executions
• Pipeline «mindset», follows you from dev to production.
21#engageug
What’s a Job
A set of steps to achieve a result
No, it’s not a script because:
• A job has an history
• Stores outputs
• Track exit code
• Track the execution environment
• Can be run on remote hosts (Jenkins nodes)
22#engageug
What’s a Job, part 2 – Build it
1. Check out code from git (scripts ?)
2. Set the context, parameters, variables
3. Use jenkins plugins to do things
4. Get credentials from the credential store
5. Manage outcomes conditionally
6. Fire other cascading jobs
23#engageug
When a jub runs …
Executes steps you defined
After a jub has run
• Review & keep the output
• Check the execution environment
• Run «post» steps to consolidate results
• Save files
• Fire events
• Send notifications
• More plugins -> More capabilities
Explore jenkins plugins: https://plugins.jenkins.io/
24#engageug
Other tricks
• Invoke a jenkins job as a REST API
• Deploy remote «nodes» to distribute load
• Use Ansible with Jenkins to improve automation (key for
system administrators)
• If you need something (and it makes sense) there’s
probably a plugin for that.
25#engageug
What we use it for ?
• Building our code (this is for devs)
• Deploying apps to 6 lines of WebSphere Portal Servers at
a customer
• Applications
• Configurations
• Reporting
• Deploying apps to customers
• Track every deploy, notify changes and generate reports
26#engageug
Ansible
Scripting for admins, done right
28#engageug
Ansible
29#engageug
• Agentless , it runs over SSH (or PowerShell remote)
• Powerfull , based on Python
Agentless and powerful open source IT automation tool
Use Cases
• Provisioning
• Configuration management
• Application deployement
• Continuous delivery
• Security & Compliance
• Orchestration
Inventory
30#engageug
Default /etc/ansible/hosts
Multiple inventory allowed to , use –i <path> on command line to specify others
INI YAML
Variables
stored inside Inventory
host
Group
31#engageug
variables
Groups of Groups, and Group Variables
32#engageug
variables
Default groups
• All
• ungrouped
The order/precedence is (from lowest to highest)
• all group (because it is the ‘parent’ of all other groups)
• parent group
• child group
• Host
Ansible use Jinja2 templating to enable dynamic expressions and access to variables
33#engageug
Ready to run commands?
Play with Ansible
Ad Hoc Command (some examples)
34#engageug
Play with Ansible
• Playbook
It’s a READABLE collections of Ansible commands , written inside a YAML file and could be
launched against host(s) or group(s).
Commands are grouped by tasks who calls ansible modules
35#engageug
Play with Ansible
• Role(s)
It’s a collections of files with folder structur that allow admins to keep simple and flexible
complex authomation.
Example projext structure:
36#engageug
IBM Installation Manger
It’s an installer
• /opt/ibm/InstallationManger/eclipse/IBMIM
It’s a SMART installer 
• Install from local ad remote repository
• It could record and play cofigurations
• It could roll back versions and config
• It owns also a Web Interface !
/opt/ibm/InstallationManger/eclipse/web/ibmim-web
http://serverIP:9090/ibmim
Record and play !
Record
/opt/IBM/InstallationManager/eclipse/IBMIM -record
/root/connections6dev.xml -skipInstall /tmp/SkipInstall
Play
/opt/IBM/InstallationManager/eclipse/tools/imcl -acceptLicense -
sVP -log /tmp/swInstall.log -input /tmp/response/swResp.rsp
Let’s go to use this with Ansible !
Intsallation manager inside Ansible playbooks
39 5/24/2018
Example: deploy DB2 11.1FP3
40#engageug
Response file -> template
Example: deploy DB2 11.1
41#engageug
42#engageug
Links
43#engageug
http://www.ansible.com
https://github.com/ebasso/ansible-ibm-websphere
https://github.com/Factor-y/ansible-ibm-websphere
44#engageug

Contenu connexe

Tendances

Automate IBM Connections Installations and more
Automate IBM Connections Installations and moreAutomate IBM Connections Installations and more
Automate IBM Connections Installations and moreLetsConnect
 
OpenNTF Webinar, October 2020
OpenNTF Webinar, October 2020OpenNTF Webinar, October 2020
OpenNTF Webinar, October 2020Howard Greenberg
 
Hands On With OpenSocial and Embedded Experiences
Hands On With OpenSocial and Embedded ExperiencesHands On With OpenSocial and Embedded Experiences
Hands On With OpenSocial and Embedded ExperiencesRyan Baxter
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Brian Culver
 
Suguk Southampton CodePlex - March 2014
Suguk Southampton   CodePlex - March 2014Suguk Southampton   CodePlex - March 2014
Suguk Southampton CodePlex - March 2014Steven Andrews
 
OpenNTF Webinar, March, 2021
OpenNTF Webinar, March, 2021OpenNTF Webinar, March, 2021
OpenNTF Webinar, March, 2021Howard Greenberg
 
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...Perficient, Inc.
 
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...Ryan Baxter
 
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocialLotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocialRyan Baxter
 
Presenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View ControlPresenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View ControlTeamstudio
 
Developing XPages Applications
Developing XPages ApplicationsDeveloping XPages Applications
Developing XPages ApplicationsNiklas Heidloff
 
Show110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real WorldShow110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real Worldpdhannan
 
OpenNTF Webinar Series: DQL with John Curtis September 2020
OpenNTF Webinar Series: DQL with John Curtis September 2020OpenNTF Webinar Series: DQL with John Curtis September 2020
OpenNTF Webinar Series: DQL with John Curtis September 2020Graham Acres
 
OpenNTF Webinar, May 19, 2020
OpenNTF Webinar, May 19, 2020OpenNTF Webinar, May 19, 2020
OpenNTF Webinar, May 19, 2020Howard Greenberg
 
Mobilize Your Business, Not Just an App
Mobilize Your Business, Not Just an AppMobilize Your Business, Not Just an App
Mobilize Your Business, Not Just an AppTeamstudio
 
O365Engage17 - The Full Story, Skype for Business Deployment Options
O365Engage17 - The Full Story, Skype for Business Deployment OptionsO365Engage17 - The Full Story, Skype for Business Deployment Options
O365Engage17 - The Full Story, Skype for Business Deployment OptionsNCCOMMS
 
LavaCon 2011: Double Trouble! Adding Developer Docs to Your Deliverables
LavaCon 2011: Double Trouble! Adding Developer Docs to Your DeliverablesLavaCon 2011: Double Trouble! Adding Developer Docs to Your Deliverables
LavaCon 2011: Double Trouble! Adding Developer Docs to Your DeliverablesMary Connor
 
July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!
July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!
July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!Howard Greenberg
 
App.Next - The Future of Domino Application Development
App.Next - The Future of Domino Application DevelopmentApp.Next - The Future of Domino Application Development
App.Next - The Future of Domino Application DevelopmentTeamstudio
 
Global o365 developer bootcamp nj - slides
Global o365 developer bootcamp   nj - slidesGlobal o365 developer bootcamp   nj - slides
Global o365 developer bootcamp nj - slidesThomas Daly
 

Tendances (20)

Automate IBM Connections Installations and more
Automate IBM Connections Installations and moreAutomate IBM Connections Installations and more
Automate IBM Connections Installations and more
 
OpenNTF Webinar, October 2020
OpenNTF Webinar, October 2020OpenNTF Webinar, October 2020
OpenNTF Webinar, October 2020
 
Hands On With OpenSocial and Embedded Experiences
Hands On With OpenSocial and Embedded ExperiencesHands On With OpenSocial and Embedded Experiences
Hands On With OpenSocial and Embedded Experiences
 
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
Convert your Full Trust Solutions to the SharePoint Framework (SPFx)
 
Suguk Southampton CodePlex - March 2014
Suguk Southampton   CodePlex - March 2014Suguk Southampton   CodePlex - March 2014
Suguk Southampton CodePlex - March 2014
 
OpenNTF Webinar, March, 2021
OpenNTF Webinar, March, 2021OpenNTF Webinar, March, 2021
OpenNTF Webinar, March, 2021
 
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
Dart Past Your Competition by Getting Your Digital Experience into Market Fas...
 
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
Lotusphere 2012 - AD115 - Extending IBM Lotus Notes & IBM Lotus iNotes With O...
 
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocialLotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
Lotusphere 2012 - Show115 - Socialize Your Apps Using OpenSocial
 
Presenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View ControlPresenting Data – An Alternative to the View Control
Presenting Data – An Alternative to the View Control
 
Developing XPages Applications
Developing XPages ApplicationsDeveloping XPages Applications
Developing XPages Applications
 
Show110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real WorldShow110 | Using the XPages Extension Library for the Real World
Show110 | Using the XPages Extension Library for the Real World
 
OpenNTF Webinar Series: DQL with John Curtis September 2020
OpenNTF Webinar Series: DQL with John Curtis September 2020OpenNTF Webinar Series: DQL with John Curtis September 2020
OpenNTF Webinar Series: DQL with John Curtis September 2020
 
OpenNTF Webinar, May 19, 2020
OpenNTF Webinar, May 19, 2020OpenNTF Webinar, May 19, 2020
OpenNTF Webinar, May 19, 2020
 
Mobilize Your Business, Not Just an App
Mobilize Your Business, Not Just an AppMobilize Your Business, Not Just an App
Mobilize Your Business, Not Just an App
 
O365Engage17 - The Full Story, Skype for Business Deployment Options
O365Engage17 - The Full Story, Skype for Business Deployment OptionsO365Engage17 - The Full Story, Skype for Business Deployment Options
O365Engage17 - The Full Story, Skype for Business Deployment Options
 
LavaCon 2011: Double Trouble! Adding Developer Docs to Your Deliverables
LavaCon 2011: Double Trouble! Adding Developer Docs to Your DeliverablesLavaCon 2011: Double Trouble! Adding Developer Docs to Your Deliverables
LavaCon 2011: Double Trouble! Adding Developer Docs to Your Deliverables
 
July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!
July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!
July 2020 OpenNTF Webinar - Hear the Latest from the User Groups!
 
App.Next - The Future of Domino Application Development
App.Next - The Future of Domino Application DevelopmentApp.Next - The Future of Domino Application Development
App.Next - The Future of Domino Application Development
 
Global o365 developer bootcamp nj - slides
Global o365 developer bootcamp   nj - slidesGlobal o365 developer bootcamp   nj - slides
Global o365 developer bootcamp nj - slides
 

Similaire à Engage 2018 adm04 - The lazy admin wins

Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?Bruno Capuano
 
La importancia de versionar el código: GitHub, portafolio y recursos para est...
La importancia de versionar el código: GitHub, portafolio y recursos para est...La importancia de versionar el código: GitHub, portafolio y recursos para est...
La importancia de versionar el código: GitHub, portafolio y recursos para est...CloudNativeElSalvado
 
Saleforce For Domino Dogs
Saleforce For Domino DogsSaleforce For Domino Dogs
Saleforce For Domino DogsMark Myers
 
Git for folk who like GUIs
Git for folk who like GUIsGit for folk who like GUIs
Git for folk who like GUIsTim Osborn
 
Detecting secrets in code committed to gitlab (in real time)
Detecting secrets in code committed to gitlab (in real time)Detecting secrets in code committed to gitlab (in real time)
Detecting secrets in code committed to gitlab (in real time)Chandrapal Badshah
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub ActionsKnoldus Inc.
 
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAutomation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAppDynamics
 
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The UglyDevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The UglyDevOpsGroup
 
Bedjango talk about Git & GitHub
Bedjango talk about Git & GitHubBedjango talk about Git & GitHub
Bedjango talk about Git & GitHubBeDjango
 
Learn Git form Beginners to Master
Learn Git form Beginners to MasterLearn Git form Beginners to Master
Learn Git form Beginners to MasterC. M. Abdullah Khan
 
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...Puppet
 
Beginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitBeginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitRobert Lee-Cann
 

Similaire à Engage 2018 adm04 - The lazy admin wins (20)

Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?
 
finall_(1).pptx
finall_(1).pptxfinall_(1).pptx
finall_(1).pptx
 
Git Makes Me Angry Inside
Git Makes Me Angry InsideGit Makes Me Angry Inside
Git Makes Me Angry Inside
 
La importancia de versionar el código: GitHub, portafolio y recursos para est...
La importancia de versionar el código: GitHub, portafolio y recursos para est...La importancia de versionar el código: GitHub, portafolio y recursos para est...
La importancia de versionar el código: GitHub, portafolio y recursos para est...
 
Saleforce For Domino Dogs
Saleforce For Domino DogsSaleforce For Domino Dogs
Saleforce For Domino Dogs
 
Git for folk who like GUIs
Git for folk who like GUIsGit for folk who like GUIs
Git for folk who like GUIs
 
Detecting secrets in code committed to gitlab (in real time)
Detecting secrets in code committed to gitlab (in real time)Detecting secrets in code committed to gitlab (in real time)
Detecting secrets in code committed to gitlab (in real time)
 
Introduction to GitHub Actions
Introduction to GitHub ActionsIntroduction to GitHub Actions
Introduction to GitHub Actions
 
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit EuropeAutomation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
Automation: The Good, The Bad and The Ugly with DevOpsGuys - AppD Summit Europe
 
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The UglyDevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
DevOpsGuys - DevOps Automation - The Good, The Bad and The Ugly
 
Git workshop
Git workshopGit workshop
Git workshop
 
Bedjango talk about Git & GitHub
Bedjango talk about Git & GitHubBedjango talk about Git & GitHub
Bedjango talk about Git & GitHub
 
Learn Git form Beginners to Master
Learn Git form Beginners to MasterLearn Git form Beginners to Master
Learn Git form Beginners to Master
 
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
 
Git workshop
Git workshopGit workshop
Git workshop
 
Beginner's Guide to Version Control with Git
Beginner's Guide to Version Control with GitBeginner's Guide to Version Control with Git
Beginner's Guide to Version Control with Git
 
Techoalien git
Techoalien gitTechoalien git
Techoalien git
 
Techoalien git
Techoalien gitTechoalien git
Techoalien git
 
Techoalien git
Techoalien gitTechoalien git
Techoalien git
 
Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
 

Dernier

Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benonimasabamasaba
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 

Dernier (20)

Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 

Engage 2018 adm04 - The lazy admin wins

  • 1. Adm04.The Lazy Admin Wins the Game. A 'How To' guide Daniele Vistalli @ Factor-y Srl Matteo Bisi @ Factor-y Srl 1#engageug
  • 2. Our Agenda • Our "lazyness" defininition • Tools available • Some examples • Links 2#engageug
  • 3. 3 Daniele Vistalli – CEO & CTO IBM Champion Social Business 2017,2018 Social: • @danielevistalli • https://www.linkedin.com/in/dvistalli • daniele.vistalli@factor-y.com
  • 4. 4 Matteo Bisi – Senior System Engineer IBM Champion Social Business 2014,15,16,17,18 Blogger – www.msbiro.net, blog.msbiro.net Social: • @mbisi78 • https://it.linkedin.com/in/matteobisi • matteo.bisi@factor-y.com
  • 5. Let’s set expectations 1. This is not a crash course 2. You won’t be throwing your way of life out of the window right after this presentation 3. This is an introductory overview of tools you may or may not know, please interact & share experience 4. Everything happens in steps, choose the one that fits your need better and start improving your life with some laziness. Don’t try to do it all at once.. that’s anti-lazy 5
  • 6. "lazyness" defined Our lazy admin • Can do his work, he’s a pro • Does not avoid learning new tricks but • He is smart enough to not reinvent the wheel 6
  • 7. Everyday problems Memory loss ... how was that command ??? Configuration issues ... I changed it last week.. what was before Tedious work .... A lot of mouse click (or cut & paste) 7
  • 8. Tools of the modern (lazy) admin • Git • Ansible • Jenkins • Special mention: • IBM Installation Manager 9#engageug
  • 9. Git is your «time machine» Version everything to prevent memory loss 10
  • 10. git Git is born in 2005 to manage sources of the “simplest” project ever: The Linux Kernel Today it is the de-facto standard for • source code (or any kind of file based repository) tracking and versioning • NPM Modules, Node Projects, Java, Ansible, Jenkins… add your own • Available everywhere, integrated everywere 11#engageug
  • 11. Git manages «Repositories» • Git is extremely complex (if you like to deep dive) • Git is extremely easy (if you focus on your need) A repository is a directory containing: • Your code, let’s call this the «working copy» • Git history files and configuration, in the .git hidden folder Create a repository >> git init • It adds a «.git» folder to your directory • Nothing is added to the history so far 12#engageug
  • 12. Working on sources and staging Work in your directory as you do today • Add files • Make changes • Delete files Now it’s time to manage your changes: git status: shows you changes git add: tells git you want to «track» changes on a file git rm: removes a file git commit: saves your chages into a «commit» giving the changeset a trackable identifier and a comment Many options exist, you learn over time, or you use a powerful client (eg. SourceTree) 13#engageug
  • 13. Introducing «Remotes» • You can use git «locally» and have an entire version control but if you need to • Share & work with others • Secure yourself a backup Then you need «Remotes» or «Remote repository» A server-based replica of the repository from which you can • pull changes • and then push your modifications Servers: GitHub / BitBucket / GitLab / Git Server 14#engageug
  • 14. Branches If you need to test changes: 1. Create a «branch» 2. Make your changes 3. Stage your changes & commit 4. Test your changes (build, deploy, whatever) All your changes are in a «branch», those changes to not impact other’s work till you decide to «merge». You can have as many branches as you like. You want to have a «master» branch which represents the real/true/valid content for your project 15#engageug
  • 15. Merges After you created branches you may need to consolidate • Make a valid change into the «master» branch • Accept changes done by others and consolidate Merging is a process: 1. Involves 2 branches 2. A source and a target 3. Applies «diffs» and resolution to changes on files 4. Creates a new «commit» in the target branch with the merged files 16#engageug
  • 16. A few resources • SourceTree (my favorite UI client) • The Git Book: https://git-scm.com/book/en/v2 • This is a good ready, don’t try to memorize it • The GitFlow Workflow (most important for developers, but better you know) • https://www.atlassian.com/git/tutorials/comparing- workflows/gitflow-workflow • http://nvie.com/posts/a-successful-git-branching-model/ 17#engageug
  • 17. Admin’s usage of Git (a few ideas) In a CI/CD environment • Is the source for code / scripts In an «ansible» context • Manage your inventories and playbooks • Create modules & roles In an IBM Connections World (we use it) • Store & track changes to LotusConnectionsConfig folder • Store & track connections customizations • Store & track «TDISOL» 18#engageug
  • 18. Jenkins, your butler Computers were created to take work away from you … let’s do it 19#engageug
  • 19. Jenkins Jenkins is a CI / CD server to do work in place of you • CI : Continuous integration • CD: Continuous delivery Born in 2004 at Sun as “Hudson” it later was forked by the community as Jenkins. Oracle claimed Hudson as its trademarks. The community went away. Guess what… Jenkins is today the winner. Get it at: https://jenkins.io/ 20#engageug
  • 20. What can Jenkins do for me If it’s repeatable, Jenkins can help, and adds: • Configuration repository for «Jobs» & «Pipelines» • Credentials store (so you don’t save password in code/scripts) • Plugins (to integrate anything) • Historical perspective on executions • Pipeline «mindset», follows you from dev to production. 21#engageug
  • 21. What’s a Job A set of steps to achieve a result No, it’s not a script because: • A job has an history • Stores outputs • Track exit code • Track the execution environment • Can be run on remote hosts (Jenkins nodes) 22#engageug
  • 22. What’s a Job, part 2 – Build it 1. Check out code from git (scripts ?) 2. Set the context, parameters, variables 3. Use jenkins plugins to do things 4. Get credentials from the credential store 5. Manage outcomes conditionally 6. Fire other cascading jobs 23#engageug
  • 23. When a jub runs … Executes steps you defined After a jub has run • Review & keep the output • Check the execution environment • Run «post» steps to consolidate results • Save files • Fire events • Send notifications • More plugins -> More capabilities Explore jenkins plugins: https://plugins.jenkins.io/ 24#engageug
  • 24. Other tricks • Invoke a jenkins job as a REST API • Deploy remote «nodes» to distribute load • Use Ansible with Jenkins to improve automation (key for system administrators) • If you need something (and it makes sense) there’s probably a plugin for that. 25#engageug
  • 25. What we use it for ? • Building our code (this is for devs) • Deploying apps to 6 lines of WebSphere Portal Servers at a customer • Applications • Configurations • Reporting • Deploying apps to customers • Track every deploy, notify changes and generate reports 26#engageug
  • 26. Ansible Scripting for admins, done right 28#engageug
  • 27. Ansible 29#engageug • Agentless , it runs over SSH (or PowerShell remote) • Powerfull , based on Python Agentless and powerful open source IT automation tool Use Cases • Provisioning • Configuration management • Application deployement • Continuous delivery • Security & Compliance • Orchestration
  • 28. Inventory 30#engageug Default /etc/ansible/hosts Multiple inventory allowed to , use –i <path> on command line to specify others INI YAML
  • 30. variables Groups of Groups, and Group Variables 32#engageug
  • 31. variables Default groups • All • ungrouped The order/precedence is (from lowest to highest) • all group (because it is the ‘parent’ of all other groups) • parent group • child group • Host Ansible use Jinja2 templating to enable dynamic expressions and access to variables 33#engageug Ready to run commands?
  • 32. Play with Ansible Ad Hoc Command (some examples) 34#engageug
  • 33. Play with Ansible • Playbook It’s a READABLE collections of Ansible commands , written inside a YAML file and could be launched against host(s) or group(s). Commands are grouped by tasks who calls ansible modules 35#engageug
  • 34. Play with Ansible • Role(s) It’s a collections of files with folder structur that allow admins to keep simple and flexible complex authomation. Example projext structure: 36#engageug
  • 35. IBM Installation Manger It’s an installer • /opt/ibm/InstallationManger/eclipse/IBMIM It’s a SMART installer  • Install from local ad remote repository • It could record and play cofigurations • It could roll back versions and config • It owns also a Web Interface ! /opt/ibm/InstallationManger/eclipse/web/ibmim-web http://serverIP:9090/ibmim
  • 36. Record and play ! Record /opt/IBM/InstallationManager/eclipse/IBMIM -record /root/connections6dev.xml -skipInstall /tmp/SkipInstall Play /opt/IBM/InstallationManager/eclipse/tools/imcl -acceptLicense - sVP -log /tmp/swInstall.log -input /tmp/response/swResp.rsp Let’s go to use this with Ansible !
  • 37. Intsallation manager inside Ansible playbooks 39 5/24/2018
  • 38. Example: deploy DB2 11.1FP3 40#engageug Response file -> template
  • 39. Example: deploy DB2 11.1 41#engageug

Notes de l'éditeur

  1. https://www.ansible.com/use-cases