Build

From BC$ MobileTV Wiki
(Redirected from CD)
Jump to: navigation, search

To build is the process of compiling software for the purpose of delivery and/or deployment to a specific environment (hardware/OS/DB/network infrastructure).

Continuous Integration

Continuous Integration (commonly abbreviated CI) is the process of building, distributing, and potentially: testing, updating, managing and monitoring different versions of code to run those versions as a cohesive system and observe the effects (if any). CI is a method for building code much more regularly than in a traditional SDLC, where integration would happen towards the very end of the implementation phase, often after a very lengthy and painful code merging process. Many companies and technical teams now also couple CI with CT by testing after each successful integration (or automated build). The CI tool will push and/or pull code and other related artifacts based on a specified event (i.e. on a schedule every hour, once/twice per day, weekly, or even based on activities such as a commit, merge, etc). Anything less than weekly (some would argue "daily") is not really "true CI" and is more of just a form of build process automation (often achieved in the legacy "Build Management" world through a broad set of increasingly complex and hard to maintain, hand-coded build/operations scripts; even click-to-rebuild, click-to-clear-cache & click-to-restart-server buttons that kick off behind-the-scenes processes while helpful to developers and testers, are not sufficient to be considered as evidence of following CI, rather a first important automation step towards reaching CI).

CI is more about an evolution of the entire build process and the development philosophy of encouraging (if not requiring) developers to not "hold on to code changes", as the tendency for perfectionists (which many Devs are) is to be averse to code builds, merges or integration since they always "just need to clean up a few more things" or "just need to test it a little more", or "just need some more time to think about the problem to make sure they're happy with the code, even though the basic code is working" or perhaps the even more common preference to "make sure Developer X commits their code first and then they'll integrate their own after it proves stable", even when dependencies between two Developers'/Teams' code contributions are more theoretical than actual. A lot of these reservations come with good reason, due to the software industry's long-running stigma involved in staking one's reputation and perception solely on the quality of one's code, and putting the individuals' pride or self-worth on the line for each and every commit of each and every build, the weight of which is probably unreasonable and contributes to the high rates of stress-related Burnout in the industry. With CI the stigma of "breaking the build" disappears (although some still regrettably force offenders to don a dunce cap or something equally ridiculous until the resolve the problem). Instead as a team it with CI we see right away (are possibly even alerted by our communication method of choice) using our CI tools that something is wrong, and we can pinpoint exactly when the build was broken and what the offending commit(s) might be. The team can rally together to find a solution and the feeling is one much more akin to teamwork and cooperation rather than fire-fighting or blame-gaming. For this reason, CI should always take place in a non-production environment before any code is considered even close to ready for production, and thus the stakes are much lower (who cares if Test Environment ABC is temporarily down for 15 minutes?, if planning was done properly it won't cost the company anything... whereas doing the same in production could cost thousands or more despite any amount of planning in advance).


[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16]

Continuous Delivery

Continuous Delivery (CD) is a software engineering approach in which teams keep producing valuable software in short cycles and ensure that the software can be reliably released at any time. It is used in software development to automate and improve the process of software delivery. CD builds on techniques such as Continuous Integration (CI) and Automated Testing which allow software to be developed to a high standard and easily packaged and deployed to test environments, but goes a step further by producing executables, binaries, libraries, and/or any other runnable software artifacts which are ready for delivery to end customers (i.e. "production-ready" at the end of each build). CD focuses on what happens with a committed change after build/test part of the development cycle, any commit that passes the automated tests can be considered a valid candidate for release. This results in the ability to rapidly, reliably and repeatedly push out enhancements and bug fixes to customers at low risk and with minimal manual overhead. Where CI is satisfied with continually integrating code in a test environment, and CT prefers we test every integration not just being happy with an error-free build, then CD insists on adding regular deployments to specific environments or end-users/clients as part of the process. This means that CI (and probably also CT) is a requirement of CD, however CD is definitely not a requirement of performing either CI or CT.

CD in the simplest sense, is a method for preparing code for deployment much more regularly than in a traditional SDLC; for instance the most common CD Pipeline is roughly: "building on every Code Reviewed merge to the SCM repo, testing every successful build for regressions, performance impacts, etc, and finally delivering built/compiled artifacts for future deployment to a given environment immediately after confirming the tests were successful (or even just satisfactory, not necessarily perfect, if you can differentiate failure types in your unit and/or automated testing suites to say what is an acceptable and unacceptable type of defect). The confirmation of receipt of a new delivery and its pushing to production environments could be either manual or automatic, the former being Continuous Delivery and the latter being full-on Continuous Deployment.

CD as a software development technique was one of the assumptions of "extreme programming", but it turned out to be more significant as a development philosophy than as a specific tool or subset of one methodology. At an enterprise level CD has developed into a discipline of its own, with job descriptions such as "DevOps Architebookct/Lead" or "Release Engineer/Manager" (or even for once-traditional roles such as "Buildmaster" making a comeback after being all but eradicated[17] by the first CI revolution to Build processes). Many leading companies are now calling for CD skills and the embrace of it as a philosophy as mandatory.

[18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41]


Containers

Containers in software engineering & deployment are like Intermodal Containers (i.e. ocean/sea shipping freight containers that can be lifted and stacked on top of one another safely & securely on a Boat, while also able to be pulled by Trucks or Trains due to adherance to particular standards) invented to simplify global trade, only, rather than hold physical objects, these Containers are designed to keep applications and their runtime components together. They accomplish this by combining lightweight application isolation with an "image"-based deployment method, providing autonomy for applications by packaging the apps with the libraries and other binaries on which they depend. This avoids conflicts between apps that otherwise rely on key components of the underlying host operating system.

[50] [51] [52]

Continuous Deployment

Continuous Deployment takes Continuous Delivery one step further and automates the entire delivery pipeline, not just building and distribution of code but actual promotion to a given environment (and in its truest form, all the way up to Production, for realizing "live updates" as soon as a commit happens and passes unit tests, configuration updates, automated smoketests, automated regression tests, availability/accessibility, performance testing, possibly code review though this part is optional and may slow down the Continuous Deployment process, etc).

[58] [59] [60] [61] [62] [63]


Release Management

Configuration Management & Release Management are complimentary disciplines, the former being focused on the providing mechanisms, processes and tools for people to use in simplifying, clarifying and standardizing the tasks of making configuration changes (i.e. operating system upgrades, network changes, configuration file property updates/removals/additions), all non-code changes; while the latter is focused on the planning of code changes, builds, deliveries, deployments to non-production environments for testing and releases to production environments.

See: ITIM, ITIL, ITSM

Build Management

Java

Gradle

[67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82]

Maven

See Maven

Ant

See Ant

JavaScript

NPM


C#

NuGet


Objective-C

CocoaPods


PHP

Composer

Python

PIP


Perl

PPM


Ruby

Gems



Tools

CI

Travis CI

  • Travis CI: https://travis-ci.org/ (Cloud-hosted Continuous Integration Software-As-A-Service; tight coupling & integration to GitHub)

Hudson

[86]

Jenkins

Jenkins evolved from the creator (and much of the core team) of the Hudson project/community after the Oracle acquisition of Java. It is considered to be the next generation of Hudson, despite the fact that a faction of the original team stuck with Hudson or became Oracle employees and continue to support Hudson day-to-day. That said, Jenkins is quickly supplanting its parent project, with quicker development, more plugins and becoming recognized as the de facto Continuous Integration tool/service, especially for Enterprise Java projects.

[87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97] [98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140] [141] [142]

Jenkins Pipelines

[144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [162] [163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175] [176] [177] [178] [179] [180] [181] [182] [183] [184] [185] [186] [187] [188] [189] [190] [191] [192] [193] [194] [195] [196] [197] [198] [199] [200] [201] [202] [203] [204] [205] [206] [207] [208] [209] [210] [211] [212] [213] [214] [215] [216] [217] [218] [219] [220] [221] [222] [223] [224] [225] [226] [227] [228] [229] [230] [231] [232] [233] [234] [235] [236] [237] [238] [239] [240] [241] [242] [243] [244] [245] [246] [247] [248] [249] [250] [251] [252] [253] [254] [255] [256] [257] [258] [259] [260] [261] [262] [263] [264] [265] [266]

Jenkins BlueOcean

[271] [272] [273] [274] [275] [276] [277] [278] [279] [280] [281] [282] [283] [284] [285] [286] [287] [288]

Jenkins X

[289] [290] [291] [292] [293] [294] [295] [296] [297] [298]

[299]

Continuum

CruiseControl

jRebel

BitBucket Pipelines

GitHub Actions

[301] [302]


CD

[303] [304] [305]

Docker

Docker is essentially a Continuous Integration (build) & Continuous Delivery (deployment) solution designed for the Cloud and Distributed Systems. It differs from standard Virtualization and Provisioning solutions in that each virtualized application includes not only the application - which may be only 10s of MB - and the necessary binaries and libraries, but also an entire guest operating system - which may weigh 10s of GB; however, in Docker, the Docker Engine container comprises just the application and its dependencies. It runs as an isolated process in userspace on the host operating system, sharing the kernel with other containers. Thus, it enjoys the resource isolation and allocation benefits of VMs but is much more portable and efficient.

[308] [309] [310][311][312][313]

[314] [315] [316] [317] [318] [319] [320] [321] [322][323][324] [325] [326] [327] [328] [329] [330] [331] [332] [333] [334][335] [336] [337] [338] [339] [340] [341] [342] [343] [344] [345] [346] [347] [348] [349] [350] [351] [352] [353] [354] [355] [356] [357] [358] [359] [360] [361] [362] [363] [364] [365] [366] [367] [368] [369] [370] [371] [372] [373] [374] [375] [376] [377] [378] [379] [380] [381] [382] [383] [384] [385] [386] [387] [388] [389]

Kubernetes

Kubernetes (sometimes abbreviated as k8s) is an open-source system for automating deployment, scaling, and management of containerized applications. It groups containers that make up an application into logical units for easy management and discovery.

[390] [391] [392] [393] [394] [395] [396] [397] [398] [399] [400] [401] [402] [403] [404] [405] [406] [407] [408]

Tekton

Container configuration-as-code and Pipeline-as-code DSL & scripting language designed for use with Kubernetes & OpenShift). [409]

OpenShift
Helm

[410] [411]

Spinnaker

Spinnaker is an OSS, multi-cloud, "Continuous Delivery" platform that helps you release software changes with high velocity and confidence.

[412] [413]

Configuration Management

[417] [418]

DCIM

[420]



Resources


Tutorials


External Links


References

  1. Continuous Integration (original version): https://martinfowler.com/articles/originalContinuousIntegration.html
  2. Wikipedia's Continuous Integration (CI) workflow: https://www.mediawiki.org/wiki/Continuous_integration/Workflow
  3. Continuous Integration on a Dollar a Day: http://www.jamesshore.com/Blog/Continuous-Integration-on-a-Dollar-a-Day.html
  4. Continuous Integration for Pull Requests with Jenkins and Bitbucket Server (Stash): https://christiangalsterer.wordpress.com/2015/04/23/continuous-integration-for-pull-requests-with-jenkins-and-stash/
  5. Merging with git branches with Jenkins: http://andrewtarry.com/jenkins_git_merges/
  6. Automatic branch merging for Bitbucket Cloud: https://bitbucket.org/site/master/issues/14286/automatic-branch-merging-for-bitbucket
  7. Automatic branch merging: https://confluence.atlassian.com/bitbucketserver/automatic-branch-merging-776639993.html
  8. Continuous Integration essentials: https://codeship.com/continuous-integration-essentials
  9. Accelerating Your Delivery Pipeline with ReadyAPI & Jenkins: https://smartbear.com/resources/webinars/accelerate-delivery-pipeline-jenkins/
  10. Examining CI, CD and branching models: https://paulhammant.com/2018/05/23/examining-ci-cd-and-branching-models/
  11. Trunk, CI, Builds, Environments, and Integration: https://paulhammant.com/2017/10/30/trunk-ci-builds-environments-and-integration/
  12. Do you CI?: https://benjiweber.co.uk/blog/2020/02/12/do-you-ci/
  13. Five tips for CI-friendly GIT repos: https://www.atlassian.com/git/articles/ci-friendly-git-repos
  14. Continuous Integration on Cloud Versus on Premise -- A Review of Integration Tools: http://article.sapub.org/10.5923.j.ac.20201001.02.html
  15. Jenkins vs. Bamboo – Battle Of The Best CI/CD Tools: https://dzone.com/articles/jenkins-vs-bamboo-battle-of-the-best-cicd-tools
  16. Learn How to Set Up a CI/CD Pipeline From Scratch: https://dzone.com/articles/learn-how-to-setup-a-cicd-pipeline-from-scratch
  17. The End of the Build Master Era: http://dzone.com/articles/the-end-of-the-build-master-era
  18. Continuous Delivery checklist template: https://trello.com/b/Fdd876S8/continuous-delivery-checklist-template (Trello template checklist based on chapters in CD book)
  19. Checklist -- Is my Team ready for Continuous Delivery?: https://devopsconference.de/blog/continuous-delivery/continuous-delivery-checklist/
  20. Useful tool for tracking Continuous Delivery – cdchecklist.info: https://skeltonthatcher.com/blog/useful-tool-tracking-continuous-delivery-cdchecklist-info/
  21. Checklist for Continuous Integration and Automation Deployment: https://www.linkedin.com/pulse/checklist-continuous-integration-automation-aravind-dhakshinamoorthy/?articleId=8120138453350727698
  22. Atlassian Guide to Continuous Delivery: https://www.atlassian.com/continuous-delivery
  23. Continuous Delivery -- Anatomy of the Deployment Pipeline: http://www.informit.com/articles/article.aspx?p=1621865&seqNum=2 (a chapter from the "Continuous Delivery" book)
  24. How to Set Up a Continuous Delivery Environment: http://dzone.com/articles/how-to-setup-continuous-delivery-environment
  25. Continuous Delivery pioneer Jez Humble on how to counter the "Sounds Great But It Won’t Work Here" argument: https://www.infoq.com/presentations/continuous-delivery-highlights
  26. Building a Continuous Delivery Pipeline with Git & Jenkins: https://stackify.com/continuous-delivery-git-jenkins/
  27. Testing in Production - Quality Software Faster: https://www.infoq.com/presentations/testing-software-production
  28. 11 (of the most common) Continuous Delivery Anti-Patterns: https://dzone.com/articles/eleven-continuous-delivery-anti-patterns
  29. What’s the Value of CI/CD?: https://builttoadapt.io/whats-the-value-of-ci-cd-c2e6c39450bd
  30. Local Continuous Delivery Environment With Docker and Jenkins: https://dzone.com/articles/local-continuous-delivery-environment-with-docker
  31. The simplest guide to using Blue/Green deployment in Kubernetes: https://codefresh.io/kubernetes-tutorial/blue-green-deploy/ | WEBINAR
  32. Moving Towards Continuous Delivery One Commit at a Time: https://terathink.com/2017/01/10/moving-towards-continuous-delivery-one-commit-time/
  33. The Case for Continuous Delivery: https://www.thoughtworks.com/insights/blog/case-continuous-delivery
  34. Defining a Test Strategy for Continuous Delivery: https://www.simpleorientedarchitecture.com/test-strategy-for-continuous-delivery/
  35. 24 Key Capabilities to Drive Improvement in Software Delivery: https://itrevolution.com/24-key-capabilities-to-drive-improvement-in-software-delivery/
  36. Let's stop fooling ourselves - What we call CI/CD is actually (usually) only CI: https://dev.to/canarian/let-s-stop-fooling-ourselves-what-we-call-ci-cd-is-actually-only-ci-13c
  37. How a one line change decreased our clone times by 99%: https://medium.com/pinterest-engineering/how-a-one-line-change-decreased-our-build-times-by-99-b98453265370
  38. Why interoperability in CI/CD matters for future innovation: https://www.ericsson.com/en/blog/2020/10/ci-cd-devops-interoperability-future-innovation
  39. ED Corner Weekly -- When folks say they've acheived CI/CD, often its only CI - Acceptance is the first step to being an Elite Performing Team: https://cd.foundation/blog/2020/11/06/ed-corner-weekly-acceptance-is-the-first-step-to-being-an-elite-performing-team/
  40. Let's stop fooling ourselves. What we call CI/CD is actually only CI : https://dev.to/canarian/let-s-stop-fooling-ourselves-what-we-call-ci-cd-is-actually-only-ci-13c
  41. Continuous Delivery in the Age of Microservices and COVID -19: https://www.linux.com/topic/cloud/continuous-delivery-in-the-age-of-microservices-and-covid-19/
  42. Open Container Project -- How cloud giants are joining forces against lock-in and fragmentation: http://www.zdnet.com/article/open-container-project-how-cloud-giants-are-joining-forces-against-lock-in-and-fragmentation/
  43. What’s in a container? You don’t know, and that’s a problem: http://venturebeat.com/2014/12/16/whats-in-a-container-you-dont-know-and-thats-a-problem/
  44. : http://opensource.com/business/15/6/announcing-open-container-project
  45. Enterprise Containers 101 with Red Hat platform architect, Langdon White: http://summitblog.redhat.com/2015/06/25/enterprise-containers-101-with-red-hat-platform-architect-langdon-white/
  46. It's Containers All the Way Down (Iron .vs. Virtual .vs. Container): http://dzone.com/articles/its-containers-all-the-way-down
  47. Why Docker? The Image API is Everywhere: http://dzone.com/articles/why-docker-the-image-api-is-everywhere
  48. Introduction to Docker https://dzone.com/articles/introduction-to-docker-1
  49. An Introduction to Docker -- The Performance Perspective – Part 1: http://dzone.com/articles/an-introduction-to-docker-the-performance-perspect
  50. Codefresh -- CI/CD Pipelines for Microservices: https://codefresh.io/continuous-deployment/ci-cd-pipelines-microservices/ ("Container-based Pipeline")
  51. How we use feature flags: https://advisesolutions.se/nyheter/2017/10/12/how-we-use-feature-flags
  52. Feature Flags vs. Canaries - can they ever live together?: https://blog.vamp.io/can-feature-flags-and-canaries-ever-live-together/
  53. Continuous Delivery vs. Continuous Deployment -- An Overview: https://dzone.com/articles/continuous-delivery-vs-continuous-deployment-an-ov
  54. Continuous Integration vs. Continuous Delivery vs. Continuous Deployment: https://stackoverflow.com/questions/28608015/continuous-integration-vs-continuous-delivery-vs-continuous-deployment#28628086
  55. Codeship -- Jenkins Migration guide - Testing: https://resources.codeship.com/hubfs/Codeship_Migrating_from_Jenkins_to_Codeship-Testing-1.pdf
  56. Codeship -- Jenkins Migration guide - Organizations, Roles & Users: https://resources.codeship.com/hubfs/Codeship_Migrating_from_Jenkins_to_Codeship-Organizations_Roles_and_Users-1.pdf
  57. Codeship -- Jenkins Migration guide - Notifications (Slack, HipChat, Email, SMS, etc): https://resources.codeship.com/hubfs/Codeship_Migrating_from_Jenkins_to_Codeship-Notifications-1.pdf
  58. The Road (from legacy app & slow/infrequent manual release schedule) to Continuous Deployment: https://dzone.com/articles/the-road-to-continuous-deployment
  59. The One Thing That Is Repeatedly Breaking Your CI/CD Workflow: http://blog.takipi.com/the-one-thing-that-repeatedly-breaks-your-cicd-workflow/ (HINT: lack of automated Monitoring/Root Cause analysis)
  60. Continuous Deployments – the Holy Grail of Your Continuous Delivery Pipeline: https://devops.com/webinars/continuous-deployments-the-holy-grail-of-your-continuous-delivery-pipeline/
  61. Continuous Delivery & Release Automation (CDRA) – Critical To DevOps Success: https://go.forrester.com/blogs/continuous-delivery-and-release-automation-the-missing-link-for-business-transformation/
  62. Cracking the "Continuous Deployment" code: https://dzone.com/articles/cracking-the-continuous-deployment-code
  63. How do you do Continuous Integration with Pull Requests?: https://martinfowler.com/articles/ship-show-ask.html#IfYouMostlyAsk
  64. JReleaser says hello!: https://andresalmiray.com/jreleaser-says-hello/
  65. How to Install Gradle (and setup/configure for command-line use): https://www.javacodegeeks.com/2013/04/how-to-install-gradle-2.html
  66. Gradle Tutorial - How to install Gradle on Windows: http://bryanlor.com/blog/gradle-tutorial-how-install-gradle-windows
  67. Equivalents for mvn update and mvn install in gradle: https://stackoverflow.com/questions/44755839/equivalents-for-mvn-update-and-mvn-install-in-gradle
  68. Migrating Builds From Apache Maven: https://docs.gradle.org/current/userguide/migrating_from_maven.html
  69. Gradle vs Maven Comparison: https://gradle.org/maven-vs-gradle/
  70. Gradle .vs. Maven -- side by side comparison: https://dzone.com/articles/gradle-vs-maven
  71. Ant .vs. Maven .vs. Gradle: https://www.baeldung.com/ant-maven-gradle
  72. A Puzzle – Gradle or Maven: https://devops.com/puzzle-gradle-maven/
  73. Java Build Tools - Ant vs Maven vs Gradle: https://technologyconversations.com/2014/06/18/build-tools/
  74. Java Build Tools example repo: https://github.com/vfarcic/JavaBuildTools
  75. Building Android applications with Gradle - Tutorial: https://www.vogella.com/tutorials/AndroidBuild/article.html
  76. Configure your Android build: https://developer.android.com/studio/build
  77. How to Display Dependency Tree of Your Android Project with Gradle?: https://android.jlelse.eu/gradle-dependency-tree-819b68898a53
  78. Why do the Gradle/Maven wrappers matter?: andresalmiray.com/why-do-the-gradle-maven-wrappers-matter/
  79. Checking in the Gradle Wrapper or Not?: https://michael.hoennig.de/blog/2020/2020-11-20-checkin-gradle-wrapper-or-not.html
  80. Tip -- Use local Gradle distribution instead of wrapper: https://medium.com/@mydogtom/tip-reduce-the-number-of-gradle-daemon-instances-by-using-local-distribution-56f645cf2c97
  81. Upgrading Gradle for Cordova mobile apps in Windows: https://www.andreszsogon.com/upgrading-gradle-version-for-apache-cordova-mobile-apps/
  82. Could not find an installed version of Gradle either in Android Studio, or on your system to install the gradle wrapper: https://stackoverflow.com/questions/58412874/could-not-find-an-installed-version-of-gradle-either-in-android-studio-or-on-yo
  83. Gradle - Getting Started guide: http://gradle.org/getting-started-gradle/
  84. Hudson downloads: http://hudson-ci.org/download/
  85. Local Hudson deployment: http://localhost:8805 (typical deploy location)
  86. Kohsuke Kawaguchi -- Sun Microsystems - Evolution/History of "Hudson": https://web.archive.org/web/20140701020639/https://www.java.net//blog/kohsuke/archive/20070514/Hudson%20J1.pdf
  87. A Getting Started Guide to Setting up Jenkins: http://dzone.com/articles/a-getting-started-guide-to-setting-up-jenkins
  88. Getting Started With Jenkins -- The Ultimate Guide: https://dzone.com/articles/getting-started-with-jenkins-the-ultimate-guide
  89. A Getting Started Guide to Setting up Jenkins: https://dzone.com/articles/a-getting-started-guide-to-setting-up-jenkins
  90. How to change the default port in Jenkins: http://workingwithdevs.com/how-to-change-default-port-jenkins/
  91. Comprehensive Jenkins CI tutorial: https://www.edureka.co/blog/jenkins-tutorial/
  92. Prepare Jenkins for Support (by tuning runargs & JVM): https://support.cloudbees.com/hc/en-us/articles/222446987-Prepare-Jenkins-for-Support
  93. Jenkins meets the corporate proxy: https://blog.alexellis.io/jenkins-meets-the-proxy/
  94. How to configure Jenkins for proxy: https://serverfault.com/questions/851690/how-to-configure-jenkins-for-proxy
  95. How do you configure Jenkins to work with a proxy server?: https://jazz.net/forum/questions/214230/how-do-you-configure-jenkins-to-work-with-a-proxy-server
  96. How To Use Proxy Server To Access Internet at Shell Prompt with http_proxy Variable: https://www.cyberciti.biz/faq/linux-unix-set-proxy-environment-variable/
  97. Jenkins - Matrix Authorization: https://jenkins.io/doc/book/managing/security/#authorization
  98. Trigger Jenkins builds by pushing to Github: https://www.fourkitchens.com/blog/article/trigger-jenkins-builds-pushing-github/
  99. Schedule Jenkins build periodically - hourly, daily, weekly. Jenkins schedule format: https://www.lenar.io/jenkins-schedule-build-periodically/
  100. How do I schedule jobs in Jenkins?: https://stackoverflow.com/questions/12472645/how-do-i-schedule-jobs-in-jenkins/12472740#12472740
  101. Spread load evenly by using ‘H * * * *’ rather than ‘5 * * * *’: https://stackoverflow.com/questions/26383778/spread-load-evenly-by-using-h-rather-than-5
  102. How to get the most out of Jenkins: https://www.youtube.com/watch?v=eemz3mpGQEs
  103. How to Trigger Non-Multibranch Jobs from Bitbucket Cloud?: https://support.cloudbees.com/hc/en-us/articles/115000051092-How-to-Trigger-Non-Multibranch-Jobs-from-Bitbucket-Cloud-
  104. How to connect Bitbucket to Jenkins properly: https://stackoverflow.com/questions/16507895/how-to-connect-bitbucket-to-jenkins-properly
  105. BitBucket WebHook Jenkins: https://stackoverflow.com/questions/45971311/bitbucket-webhook-jenkins/47889853#47889853
  106. How to build an automated Continuous Deployment pipeline with Jenkins and Bitbucket: https://www.linkedin.com/pulse/how-build-automated-continuous-deployment-pipeline-jenkins-demiris
  107. How do I get Jenkins to build on push to a BitBucket git repository?: https://stackoverflow.com/questions/11231064/how-do-i-get-jenkins-to-build-on-push-to-a-bitbucket-git-repository
  108. Bitbucket Pipelines vs Jenkins Pipeline: https://hackernoon.com/bitbucket-pipelines-vs-jenkins-pipeline-f3b7c0e1c198
  109. Jenkins Cluster Setup With Docker Containers: http://dzone.com/articles/jenkins-cluster-setup-with-docker-containers
  110. Learning Continuous Integration with Jenkins, 2nd Edition (BOOK): https://www.safaribooksonline.com/library/view/learning-continuous-integration/9781788479356/
  111. How to Set Up and Run Selenium Tests in Jenkins Using Maven and JUnit: https://dzone.com/articles/how-to-setup-and-run-selenium-tests-in-jenkins-usi
  112. Web QA publishes automated test results: https://blog.mozilla.org/fxtesteng/2015/03/05/web-qa-publishes-automated-test-results/
  113. Security DevOps with Jenkins CI: https://www.slideshare.net/cschneider4711/hackpra-2015-security-devops-free-pentesters-time-to-focus-on-highhanging-fruits
  114. Top 5 Most Useful Jenkins Plugins for PHP Projects: https://www.sitepoint.com/useful-jenkins-plugins-php-projects/
  115. JavaScript + Jenkins = Winning!: https://www.slideshare.net/emwendelin/javascript-ci
  116. Jenkins restrict view of jobs per user: https://stackoverflow.com/questions/8323129/jenkins-restrict-view-of-jobs-per-user
  117. UI automation framework on Jenkins + Docker: testnblog.com/ui-automation-framework-on-docker/
  118. How to move an existing job from one view to another in Jenkins?: https://stackoverflow.com/questions/28562666/how-to-move-an-existing-job-from-one-view-to-another-in-jenkins
  119. How to move jenkins job to sub folder?: https://stackoverflow.com/questions/39406546/how-to-move-jenkins-job-to-sub-folder
  120. Set environment variables from shell script in jenkins: https://stackoverflow.com/questions/57567251/set-environment-variables-from-shell-script-in-jenkins
  121. How to set environment variables in Jenkins?: https://stackoverflow.com/questions/10625259/how-to-set-environment-variables-in-jenkins
  122. Can't export a variable from execute shell in Jenkins to other project (with using properties file): https://stackoverflow.com/questions/30938936/cant-export-a-variable-from-execute-shell-in-jenkins-to-other-project-with-usi (how to get Environment variables "injected via properties file" so its usable between separate steps/plugins)
  123. Passing data between build steps in Jenkins: https://stackoverflow.com/questions/22366808/passing-data-between-build-steps-in-jenkins
  124. Jenkins wiki (OFFICIAL) -- Remote access API: https://wiki.jenkins.io/display/jenkins/remote+access+api
  125. CSRF Protection (crumbs) in Jenkins explained: https://support.cloudbees.com/hc/en-us/articles/219257077-CSRF-Protection-Explained
  126. Jenkins -- Trigger build remotely via script using CSRF) crumb: https://com.puter.tips/2017/09/jenkins-trigger-build-remotely-via.html
  127. How to update a Jenkins job posting config.xml: https://blog.dahanne.net/2016/05/17/how-to-update-a-jenkins-job-posting-config-xml/
  128. How to request for the crumb issuer for Jenkinshttps://stackov: erflow.com/questions/16738441/how-to-request-for-the-crumb-issuer-for-jenkins
  129. Spinnaker -- 403 No valid crumb was included in the request: https://stackoverflow.com/questions/44711696/spinnaker-403-no-valid-crumb-was-included-in-the-request
  130. "HTTP Request" plugin: https://plugins.jenkins.io/http_request | DOCS | SRC
  131. How to build a job using the REST API and Java?: https://support.cloudbees.com/hc/en-us/articles/226852648-How-to-build-a-job-using-the-REST-API-and-Java-
  132. How to create a job using the REST API and cURL?: https://support.cloudbees.com/hc/en-us/articles/220857567-How-to-create-a-job-using-the-REST-API-and-cURL-
  133. How to add crumb for CSRF in Jenkins via JSON / JS: https://stackoverflow.com/questions/43321489/how-to-add-crumb-for-csrf-in-jenkins-via-json-js
  134. Calling a Jenkins build from outside of Jenkins?: https://stackoverflow.com/questions/8512807/calling-a-jenkins-build-from-outside-of-jenkins
  135. How to request for the crumb issuer for Jenkins: https://stackoverflow.com/questions/16738441/how-to-request-for-the-crumb-issuer-for-jenkins
  136. Deploying your built ".war" file from Jenkins to Tomcat: https://www.jdev.it/deploying-your-war-file-from-jenkins-to-tomcat/
  137. An easier way to create custom Jenkins containers: https://developers.redhat.com/blog/2020/06/04/an-easier-way-to-create-custom-jenkins-containers/
  138. Hands On - Beautify the user interface of Jenkins reporter plugins: https://www.jenkins.io/blog/2020/03/17/ui-plugins/
  139. How to Setup Custom UI Theme For Jenkins: https://devopscube.com/setup-custom-materialized-ui-theme-jenkins/ (change the default Jenkins CSS)
  140. jenkins "material-theme": http://afonsof.com/jenkins-material-theme/
  141. How to move an existing job from one view to another in Jenkins?: https://stackoverflow.com/questions/28562666/how-to-move-an-existing-job-from-one-view-to-another-in-jenkins
  142. Use Jenkins WORKSPACE environment variable in Jenkins declarative pipeline parameter: https://stackoverflow.com/questions/66304911/use-jenkins-workspace-environment-variable-in-jenkins-declarative-pipeline-param (force to use localized workspace instead of common, to avoid issues for multiple jobs building the same project)
  143. Auto-Convert "Freestyle Jobs" to "Jenkins Pipeline" (with this new plugin): https://jenkins.io/blog/2017/12/15/auto-convert-freestyle-jenkins-jobs-to-coded-pipeline/
  144. Using a Jenkinsfile: https://jenkins.io/doc/book/pipeline/jenkinsfile/
  145. Top 10 best practices for Jenkins Pipeline: https://dzone.com/articles/top-10-best-practices-for-jenkins-pipeline
  146. Refactoring a Jenkins plugin for compatibility with Pipeline jobs: https://jenkins.io/blog/2016/05/25/update-plugin-for-pipeline/
  147. Is there a tool that makes it possible to validate Jenkinsfiles online?: https://devops.stackexchange.com/questions/2146/is-there-a-tool-that-makes-it-possible-to-validate-jenkinsfiles-online
  148. JenkinsWorld -- dec-jam-declarative-demos: https://github.com/abayer/dec-jam-declarative-demos (top CI/CD engineers shared their favorite Jenkins Pipeline recipes as new Jenkins 2.0 Groovy syntax)
  149. Timeout on a Build Step of Jenkins: https://stackoverflow.com/questions/12234204/timeout-on-a-build-step-of-jenkins
  150. Jenkins Live Demos -- Pipeline, Git, and Blue Ocean: https://www.youtube.com/watch?v=TsWkZLLU-s4
  151. Top 10 Best Practices for Jenkins Pipeline: http://dzone.com/articles/top-10-best-practices-for-jenkins-pipeline
  152. Sending Notifications from Jenkins Pipeline (to Email, HipChat or Slack): http://dzone.com/articles/sending-notifications-in-pipeline
  153. Declarative Pipeline: Notifications and Shared Libraries: https://jenkins.io/blog/2017/02/15/declarative-notifications/
  154. Cloudbees - Sending Notifications in Pipeline: https://www.cloudbees.com/blog/sending-notifications-pipeline
  155. Jenkins Pipeline Tutorial For Beginners: https://devopscube.com/jenkins-pipeline-as-code/
  156. Jenkins2 Pipeline jobs using Groovy code in Jenkinsfile: https://wilsonmar.github.io/jenkins2-pipeline/
  157. Comparison grid of Scripted .vs. Declarative: https://www.tutorialandexample.com/jenkins-pipeline/
  158. How to Use the Jenkins Declarative Pipeline: https://dzone.com/articles/how-to-use-the-jenkins-declarative-pipeline
  159. Jenkins2.0 Pipeline jobs using Groovy code in Jenkinsfile: https://wilsonmar.github.io/jenkins2-pipeline/
  160. Only modified files in Jenkins: http://blog.code-cop.org/2018/07/only-modified-files-in-jenkins.html
  161. Jenkins Workflow -- Scripting Out Complex Builds: https://code.tutsplus.com/tutorials/jenkins-workflow-scripting-out-complex-builds--cms-24207 (Jenkins Workflow is the former name of Jenkins 2.0 Pipelines)
  162. Continuous Delivery With Jenkins Workflow: https://dzone.com/refcardz/continuous-delivery-with-jenkins-workflow?chapter=1
  163. Use Jenkins 'Mailer' inside pipeline workflow: https://stackoverflow.com/questions/37169100/use-jenkins-mailer-inside-pipeline-workflow
  164. Jenkins Tip - Send notifications on fixed builds in declarative pipeline: https://baptiste-wicht.com/posts/2017/06/jenkins-tip-send-notifications-fixed-builds-declarative-pipeline.html
  165. How to access Changelogs in a Pipeline Job? : https://support.cloudbees.com/hc/en-us/articles/217630098-How-to-access-Changelogs-in-a-Pipeline-Job-
  166. Declarative pipeline send email: https://stackoverflow.com/questions/47642199/declarative-pipeline-send-email
  167. Jenkins Pipeline Groovy Script: Use `mail` in Jenkinsfile: https://stackoverflow.com/questions/46212570/jenkins-pipeline-groovy-script-use-mail-in-jenkinsfile
  168. Delivery Pipeline Plugin: https://wiki.jenkins.io/display/JENKINS/Delivery+Pipeline+Plugin (build "pipeline visualization" dashboard that preceded the BlueOcean rewrite)
  169. Build Pipeline Plugin: https://wiki.jenkins.io/display/JENKINS/Build+Pipeline+Plugin (build "pipeline visualization" dashboard that preceded the BlueOcean rewrite)
  170. How to send “back to normal” notifications in Jenkins Declarative Pipeline?: https://stackoverflow.com/questions/44329032/how-to-send-back-to-normal-notifications-in-jenkins-declarative-pipeline
  171. How to use post steps with Jenkins pipeline on multiple agents?: https://stackoverflow.com/questions/44531003/how-to-use-post-steps-with-jenkins-pipeline-on-multiple-agents
  172. How to build on Jenkins and publish artifacts via SSH with Pipelines: https://medium.com/@weblab_tech/how-to-publish-artifacts-in-jenkins-f021b17fde71
  173. How to include git changelog in Jenkins emails?: https://stackoverflow.com/questions/7773010/how-to-include-git-changelog-in-jenkins-emails
  174. How to get build time stamp from Jenkins build variables?: https://stackoverflow.com/questions/24226862/how-to-get-build-time-stamp-from-jenkins-build-variables#24226961
  175. What is the difference between a node, stage, and step in Jenkins Pipelines?: https://stackoverflow.com/questions/39549215/what-is-the-difference-between-a-node-stage-and-step-in-jenkins-pipelines
  176. script-security-plugin: https://github.com/jenkinsci/script-security-plugin?files=1
  177. Intro to Jenkins Pipelines and Publishing Over SSH: https://dzone.com/articles/intro-to-jenkins-pipeline-and-using-publish-over-s
  178. Automated Performance Tests in Jenkins CI Environment: http://dzone.com/articles/automated-performance-tests-in-jenkins-ci-environm
  179. Running Selenium Cucumber Tests in Jenkins : https://dzone.com/articles/running-selenium-cucumber-tests-in-jenkins-1
  180. Visualizing JMeter .jtl Files Viewed as An .xsl Stylesheet: https://www.blazemeter.com/blog/visualizing-jmeter-jtl-files-viewed-xsl-stylesheet (this can be automated by an additional step to insert the XSL line into the JTL file, which is actually an XML output file)
  181. Running a JMeter Test via Jenkins Pipeline: https://dzone.com/articles/running-a-jmeter-test-via-jenkins-pipeline
  182. Complete Guide for Selenium integration with jenkins Maven: http://learn-automation.com/selenium-integration-with-jenkins/
  183. Continuous Integration With Xcode Server on MacOS: http://dzone.com/articles/xcode-continuous-integration-with-macos-server
  184. Running SoapUI Tests From Jenkins: https://support.smartbear.com/readyapi/docs/soapui/running/automating/jenkins.html
  185. Jenkins - Automated Upgrade (of jenkins.war): https://wiki.jenkins-ci.org/display/JENKINS/Automated+Upgrade
  186. Jenkins -- Failed to connect to repository: https://stackoverflow.com/questions/21557998/jenkins-failed-to-connect-to-repository
  187. Jenkins Tutorial - Continuous Integration Using Jenkins: https://www.edureka.co/blog/jenkins-tutorial/
  188. Automating with Jenkins and PowerShell on Windows - Part 1: https://hodgkins.io/automating-with-jenkins-and-powershell-on-windows-part-1
  189. Automating with Jenkins and PowerShell on Windows - Part 2: https://hodgkins.io/automating-with-jenkins-and-powershell-on-windows-part-2
  190. Run Jenkins Build From Command Line: http://techieroop.com/run-jenkins-build-from-command-line/
  191. How to copy file from SSH remote host to Jenkins Server: https://stackoverflow.com/questions/21259811/how-to-copy-file-from-ssh-remote-host-to-jenkins-server
  192. SSH Credentials Management with Jenkins: https://support.cloudbees.com/hc/en-us/articles/222838288-SSH-Credentials-Management-with-Jenkins
  193. Injecting Secrets into Jenkins Build Jobs: https://support.cloudbees.com/hc/en-us/articles/203802500-Injecting-Secrets-into-Jenkins-Build-Jobs
  194. Using Credentials in Jenkins (safely/securely): https://www.jenkins.io/doc/book/using/using-credentials/
  195. How to use credentials in Jenkins projects?: https://emilwypych.com/2017/07/14/use-credentials-jenkins-projects/
  196. Jenkins - Working with Credentials in your pipeline: https://mtijhof.wordpress.com/2019/06/03/jenkins-working-with-credentials-in-your-pipeline/
  197. How to Start, Stop or Restart your Instance?: https://support.cloudbees.com/hc/en-us/articles/216118748-How-to-Start-Stop-or-Restart-your-Instance-
  198. How to prompt a password dialog when user trigger a job in Jenkins?: https://stackoverflow.com/questions/45262811/how-to-prompt-a-password-dialog-when-user-trigger-a-job-in-jenkins
  199. How To Set Up Jenkins for Continuous Development Integration on CentOS 7: https://www.digitalocean.com/community/tutorials/how-to-set-up-jenkins-for-continuous-development-integration-on-centos-7 (you can use the command sudo systemctl status jenkins.service to verify that Jenkins is running as a service, replace "status" with "start", "stop" or "restart" as needed)
  200. Git, Feature Branches, and Jenkins – or how I learned to stop worrying about broken builds: https://twasink.net/2011/09/20/git-feature-branches-and-jenkins-or-how-i-learned-to-stop-worrying-about-broken-builds/
  201. Jenkins Build Per Branch: http://entagen.github.io/jenkins-build-per-branch/
  202. Incrementing Maven Project Version with Jenkins/Git: https://stackoverflow.com/questions/9807226/incrementing-maven-project-version-with-jenkins-git
  203. Jenkins, Maven and semantic versioning -- How to increment either the major or minor version: https://stackoverflow.com/questions/20238676/jenkins-maven-and-semantic-versioning-how-to-increment-either-the-major-or-min
  204. Using Jenkins Build Version With Maven: https://tedvinke.wordpress.com/2013/04/20/using-jenkins-build-version-with-maven/
  205. Getting Maven Version in Jenkins: https://stackoverflow.com/questions/9893503/getting-maven-version-in-jenkins (a common option is to use the recently added Maven version ${POM_VERSION} environment variable together with Jenkins-sepcific Build increment counter ${BUILD_NUMBER} however some other good options are suggested too)
  206. Slave To Master Access Control: https://wiki.jenkins.io/display/JENKINS/Slave+To+Master+Access+Control
  207. Configuring a Jenkins Slave: https://www.caktusgroup.com/blog/2012/01/10/configuring-jenkins-slave/
  208. Jenkins Slave Nodes: http://www.donaldsimpson.co.uk/2011/10/06/jenkins-slave-nodes/
  209. Best Practices for Setting up Jenkins Auditing and Compliance: https://www.cloudbees.com/blog/best-practices-setting-jenkins-auditing-and-compliance
  210. Securing Jenkins: https://wiki.jenkins.io/display/JENKINS/Securing+Jenkins
  211. Standard Security Setup: https://wiki.jenkins.io/display/JENKINS/Standard+Security+Setup
  212. Jenkins integration: https://answers.splunk.com/answers/90467/jenkins-integration.html (Python code example)
  213. Splunk Plugin for Jenkins: https://wiki.jenkins.io/display/JENKINS/Splunk+Plugin+for+Jenkins
  214. Jenkins Splunk: https://www.cloudbees.com/jenkins-splunk-and-splunking-jenkins
  215. Splunk app - Jenkins: https://splunkbase.splunk.com/app/3332/
  216. Splunk - Dashboard examples: https://splunkbase.splunk.com/app/1603/
  217. Splunk app - Slideshow: https://splunkbase.splunk.com/app/1799/ (rolls through several Splunk Dashboards)
  218. Splunk - props.conf: http://docs.splunk.com/Documentation/Splunk/latest/Admin/Propsconf
  219. Better Control of Permissions on Production Jenkins Instance: https://wiki.opnfv.org/display/INF/Better+Control+of+Permissions+on+Production+Jenkins+Instance
  220. Jenkins project based authorization: https://www.slideshare.net/PaulBlundell2/jenkins-project-based-authorization-26206097
  221. Sample job permission configuration: https://gerrit.opnfv.org/gerrit/#/c/13805/
  222. Listing of Jenkins Auth Matrix roles: https://docs.openstack.org/infra/jenkins-job-builder/properties.html#properties.authorization
  223. Can't find libawt.so: https://github.com/jvm-profiling-tools/honest-profiler/issues/147
  224. My software builds on my computer but not on Jenkins: https://wiki.jenkins.io/display/JENKINS/My+software+builds+on+my+computer+but+not+on+Jenkins
  225. Maven build fails on Jenkins: https://stackoverflow.com/questions/43831543/maven-build-fails-on-jenkins/43832242#43832242
  226. Getting exception while configuring the maven project in jenkins: https://stackoverflow.com/questions/43555981/getting-exception-while-configuring-the-maven-project-in-jenkins
  227. Deploy your app to Linux VMs by using Jenkins and Team Services: https://docs.microsoft.com/en-us/azure/virtual-machines/linux/tutorial-build-deploy-jenkins
  228. "Blue - Green" Deployment with Jenkins: https://medium.com/arabamlabs/blue-green-deployment-with-jenkins-98393bba2327 (CD .vs. CDD)
  229. Using Jenkins to build a Node.js and React application with npm: https://jenkins.io/doc/tutorials/building-a-node-js-and-react-app-with-npm/
  230. Continuous integration using Jenkins and GitHub to automate deployment: http://valuebound.com/resources/blog/continuous-integration-using-jenkins-and-github-to-automate-deployment
  231. Advantages of Jenkins: https://apiumhub.com/tech-blog-barcelona/advantages-of-jenkins/
  232. Jumping into continuous delivery with Jenkins and SSH: https://blog.akquinet.de/2012/01/10/jumping-into-continuous-delivery-with-jenkins-and-ssh/
  233. Holistic Pipelines -- Promoting Docker Images: https://www.youtube.com/watch?v=97m1XualQWU&feature=youtu.be (Jenkins + Docker)
  234. How to retrieve current workspace using Jenkins Pipeline Groovy script?: https://stackoverflow.com/questions/37846028/how-to-retrieve-current-workspace-using-jenkins-pipeline-groovy-script (using the ${WORKSPACE} built-in environment variable convention)
  235. How to pass/get parameters from Shell command into Jenkins other places?: https://sathishpk.wordpress.com/2016/03/01/how-to-passget-parameters-from-shell-command-into-jenkins-other-places/
  236. Jenkins – Get the build user name in job config: https://eureka.ykyuen.info/2014/07/29/jenkins-get-the-build-user-name-in-job-config/
  237. Getting the current user in Jenkins: http://www.donaldsimpson.co.uk/2012/08/16/getting-the-current-user-in-jenkins/
  238. How can I set the Sender's address in Jenkins?: https://stackoverflow.com/questions/9693526/how-can-i-set-the-senders-address-in-jenkins
  239. How to list all `env` properties within Jenkins Pipeline job?: https://stackoverflow.com/questions/37083285/how-to-list-all-env-properties-within-jenkins-pipeline-job
  240. Jenkins Pipeline plugin tutorial: https://dzone.com/articles/jenkins-pipeline-plugin-tutorial
  241. Checkout Jenkins Pipeline Git SCM with credentials?: https://stackoverflow.com/questions/38461705/checkout-jenkins-pipeline-git-scm-with-credentials
  242. How to expose a passphrase-authenticated SSH key stored in Jenkins to the Docker instance?: https://support.cloudbees.com/hc/en-us/articles/218497418-How-to-expose-a-passphrase-authenticated-SSH-key-stored-in-Jenkins-to-the-Docker-instance-
  243. Use ssh credentials in jenkins pipeline with ssh, scp or sftp: https://stackoverflow.com/questions/44377238/use-ssh-credentials-in-jenkins-pipeline-with-ssh-scp-or-sftp
  244. Fix Shell Script Run via SSH Hanging (Jenkins): https://theholyjava.wordpress.com/2015/02/17/fix-shell-script-run-via-ssh-hanging-jenkins/
  245. SSH to a server from Jenkins and run shell commands: https://stackoverflow.com/questions/40052429/ssh-to-a-server-from-jenkins-and-run-shell-commands
  246. Jenkins -- git clone gets hung and gets timedout: https://stackoverflow.com/questions/36731255/git-clone-gets-hung-and-gets-timedout
  247. Jenkins Configuration as Code -- Automating an Automation Server: https://www.youtube.com/watch?v=PAKWqRE0aTk
  248. Jenkins Build Pipeline Scheduled Trigger: https://stackoverflow.com/questions/32028761/jenkins-build-pipeline-scheduled-trigger
  249. Tips on Jenkins — a Decade Later — for Continuous Delivery: https://dzone.com/articles/jenkins-a-decade-later-for-continuous-delivery
  250. Jenkins Pipelines and their dirty secrets: https://dev.to/pencillr/jenkins-pipelines-and-their-dirty-secrets-2
  251. Using Jenkins Input Step Correctly: https://medium.com/faun/using-jenkins-input-step-correctly-2946bd2fd704
  252. Is there a way to insert a manual approval in Jenkins 2 pipelines?: https://superuser.com/questions/1073489/is-there-a-way-to-insert-a-manual-approval-in-jenkins-2-pipelines
  253. Another Look at the Jenkins Promoted Builds Plugin: https://www.cloudbees.com/blog/another-look-jenkins-promoted-builds-plugin
  254. Jenkins plugins -- Pipeline compatible - JUnit: https://www.jenkins.io/doc/pipeline/steps/junit/#-junit-archive-junit-formatted-test-results
  255. Jenkins plugins -- Pipeline compatible - Test Results Analyzer: https://plugins.jenkins.io/test-results-analyzer/#documentation
  256. Parallel stages with Declarative Pipeline 1.2: https://www.jenkins.io/blog/2017/09/25/declarative-1/
  257. JUnit3 and Junit4 XML Reports with Maven: https://stackoverflow.com/questions/3282767/junit3-and-junit4-xml-reports-with-maven
  258. Publishing HTML Reports in Pipeline: https://www.jenkins.io/blog/2016/07/01/html-publisher-plugin/
  259. Recording tests and artifacts: https://www.jenkins.io/doc/pipeline/tour/tests-and-artifacts/
  260. Not able to display JUnit tests result in Jenkins Pipeline: https://stackoverflow.com/questions/41230668/not-able-to-display-junit-tests-result-in-jenkins-pipeline
  261. Jenkins -- None of the test reports contained any result: https://stackoverflow.com/questions/53935293/jenkins-none-of-the-test-reports-contained-any-result
  262. Required context class hudson.FilePath is missing Perhaps you forgot to surround the code with a step that provides this, such as: node: https://stackoverflow.com/questions/57602575/required-context-class-hudson-filepath-is-missing-perhaps-you-forgot-to-surround
  263. Jenkins Pipeline - multiline shell commands with pipe: https://stackoverflow.com/questions/43452317/jenkins-pipeline-multiline-shell-commands-with-pipe
  264. Using a Jenkinsfile - Using Environment Variables: https://www.jenkins.io/doc/book/pipeline/jenkinsfile/#using-environment-variables
  265. How To Set Jenkins Pipeline Environment Variables?: https://www.lambdatest.com/blog/set-jenkins-pipeline-environment-variables-list/
  266. How To Set Jenkins Pipeline Environment Variables?: https://mishra-praveen.medium.com/how-to-set-jenkins-pipeline-environment-variables-bb1324f36e38
  267. Getting started with Blue Ocean: https://jenkins.io/doc/book/blueocean/getting-started/
  268. Create a Pipeline in Blue Ocean: https://jenkins.io/doc/tutorials/create-a-pipeline-in-blue-ocean/ (aka. Jenkins 2.0's "long-awaited" Enterprise Wallboard/Dashboard)
  269. Jenkins 2.0 is here!: https://jenkins.io/blog/2016/04/26/jenkins-20-is-here/
  270. Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜 : https://www.slideshare.net/miyajan/make-jenkins-great-again
  271. Introducing Blue Ocean -- a new user experience for Jenkins: https://jenkins.io/blog/2016/05/26/introducing-blue-ocean/
  272. Getting Started with Blue Ocean: https://www.cloudbees.com/blog/getting-started-blue-ocean
  273. Jenkins Community Introduces Blue Ocean, A Radical Evolution of the User Experience that Makes Jenkins the Clear Leader for Continuous Delivery: https://www.cloudbees.com/press/jenkins-community-introduces-blue-ocean-radical-evolution-user-experience-makes-jenkins-clear
  274. Jenkins Gets a Facelift with Release of Blue Ocean 1.0: https://www.infoq.com/news/2017/04/jenkins-blue-ocean
  275. Jenkins makes a UX splash with Blue Ocean: https://blog.alexellis.io/jenkins-splashes-with-blue-ocean/
  276. Jenkins 2.0 First Impressions: https://blog.alexellis.io/jenkins-2-0-first-impressions/
  277. Intro to Jenkins 2 and the Power of Pipelines: http://www.baeldung.com/jenkins-pipelines
  278. Docker image - Jenkins BlueOcean: https://hub.docker.com/r/jenkinsci/blueocean/ (a "ready to go" Docker container loaded with Jenkins + BlueOcean + dependencies)
  279. Install and setup BlueOcean for Jenkins: https://stackoverflow.com/questions/38141849/install-and-setup-blueocean-for-jenkins
  280. Blue Ocean — A New UX for Jenkins: https://dzone.com/articles/blue-ocean-a-better-ux-for-jenkins-users
  281. Jenkins -- Generating Blue Ocean URLs: https://embeddedartistry.com/blog/2017/12/28/jenkins-generating-blue-ocean-urls
  282. OpenShift Pipelines with Jenkins Blue Ocean: https://dzone.com/articles/openshift-pipelines-with-jenkins-blue-ocean
  283. Continuous Delivery with Jenkins Workflow and Docker Explained: https://www.youtube.com/watch?v=vQSpztWcGmw
  284. 30 Jenkins features and plugins you wished you had known about before!: https://youtu.be/6BIry0cepz4 (nice presentation focused on getting the most out of Jenkins Pipelines/BlueOcean by Joep Weijers)
  285. StackOverflow -- Jenkins tagged Questions & Answers: https://stackoverflow.com/questions/tagged/jenkins
  286. Jenkins Configuration as Code (a.k.a. JCasC) Plugin: https://github.com/jenkinsci/configuration-as-code-plugin
  287. How to setup Jenkins as an active/passive cluster in order to increase reliability and prevent downtime: https://endocode.com/blog/2018/08/17/jenkins-high-availability-setup/
  288. How to move an existing job from one view to another in Jenkins?: https://stackoverflow.com/questions/28562666/how-to-move-an-existing-job-from-one-view-to-another-in-jenkins
  289. Jenkins -- X or 2.0?: https://dzone.com/articles/jenkins-x-the-good-bad-and-ugly
  290. All You Need to Know About Jenkins X: https://dzone.com/articles/all-you-need-to-know-about-jenkins-x
  291. Jenkins X Step-by-Step Tutorial to Continuous Deployment with Kubernetes: https://dzone.com/articles/jenkins-x-step-by-step-tutorial-to-continuous-depl
  292. Jenkins - Dynamic Parametrization | Multi-Option Parameters: https://www.youtube.com/watch?v=WcTmf-4zHs0
  293. Delivery Pipelines, with Jenkins 2, SonarQube, and Artifactory: https://jenkins.io/blog/2017/04/18/continuousdelivery-devops-sonarqube/
  294. Jenkins CI/CD is in trouble, so its founder wants to split it up: https://www.infoworld.com/article/3304282/ci-cd/jenkins-cicd-is-in-trouble-so-its-founder-wants-to-split-it-up.html (into Jenkins BlueOcean/ClassicUI-based & JenkinsX/Kubernetes-based)
  295. Declarative Jenkins Pipeline use existing Kubernetes Pod Template: https://stackoverflow.com/questions/49988038/declarative-jenkins-pipeline-use-existing-kubernetes-pod-template
  296. Creating a Jenkins environment variable using Groovy: https://stackoverflow.com/questions/10413936/creating-a-jenkins-environment-variable-using-groovy/12721531
  297. Jenkins with Superpowers: https://www.slideshare.net/alemazz/jenkins-with-superpowers-56176142 (good overview on why on-premise Jenkins costs less than half of Cloud-based CI tools like TravisCI, CircleCI, etc)
  298. 5 "Superpowers" coming to Jenkins: https://fast.wistia.net/embed/iframe/5c4rpukupb?videoFoam=true
  299. Five Initiatives to Modernize Jenkins and Kill the "Jenkinsteins": https://www.infoq.com/news/2018/11/jenkins-world-initiatives
  300. New version of JRebel for NetBeans Plugin 6.1.0: http://benkiew.wordpress.com/2015/03/03/new-version-of-jrebel-for-netbeans-plugin-6-1-0/
  301. Publishing Docker images to GitHub Container Registry with GitHub Actions: https://blog.codecentric.de/en/2021/03/github-container-registry/
  302. Stop re-writing pipelines! Why GitHub Actions (and similar approaches like "Jenkins shared build configs") drive the future of CI/CD: https://blog.codecentric.de/en/2021/03/github-actions-nextgen-cicd/
  303. ContainerPilot: https://www.joyent.com/containerpilot | SRC (previously "ContainerBuddy", is a library for autodiscovery & configuration of applications running in containers)
  304. Simplifying service discovery in Docker with Containerbuddy: https://www.joyent.com/blog/introducing-containerbuddy
  305. What is Containerbuddy?: https://linuxbsdos.com/2015/11/02/what-is-containerbuddy/
  306. Docker Enterprise Adoption (INFOGRAPHIC): http://vmblog.com/archive/2015/02/10/infographic-state-of-containers-2015-docker-adoption-survey.aspx#.VPXXYWM3dAs
  307. Docker and Its Challenges for Enterprise IT: http://java.dzone.com/articles/docker-and-its-challenges
  308. Docker Basics, Commands, and Usage: https://dzone.com/articles/basic-docker-commands-and-usage
  309. Docker – Clean Up After Yourself!: http://java.dzone.com/articles/docker-clean-after-yourself
  310. Do I Need OpenStack If I Use Docker?: http://java.dzone.com/articles/do-i-need-openstack-if-i-use
  311. 5 Key Benefits of Docker -- CI, Version Control, Portability, Isolation and Security: http://java.dzone.com/articles/5-key-benefits-docker-ci
  312. Docker Security - More than Meets the Eye: http://java.dzone.com/articles/docker-security-more-meets-eye (lots of security problems with user-contributed and even sample Docker container images)
  313. Docker Without Root Privileges: https://dzone.com/articles/docker-without-root-privileges
  314. Docker Commands — The Ultimate Cheat Sheet: https://hackernoon.com/docker-commands-the-ultimate-cheat-sheet-994ac78e2888
  315. It's Containers All the Way Down: https://dzone.com/articles/its-containers-all-the-way-down
  316. The Complete Docker Collection of tutorials: https://dzone.com/articles/the-complete-docker-collection-tutorials
  317. Migration From VMs to Containers: https://dzone.com/articles/migration-from-vms-to-containers-1
  318. Containers and VMs Together: https://blog.docker.com/2016/04/containers-and-vms-together/
  319. GET INTO DOCKER: http://www.radcortez.com/get-into-docker/
  320. Docker Machine on Windows - How To Setup You Hosts: https://dzone.com/articles/docker-machine-windows-how
  321. Cross-Platform Hybrid Cloud with Docker: https://dzone.com/articles/cross-platform-hybrid-cloud?mz=62447-cloud
  322. Docker and IBM Bluemix Containers Reference Sheet: http://dzone.com/articles/docker-and-ibm-bluemix-containers-reference-sheet
  323. Solomon Hykes - 1st Public Talk on Docker: http://www.youtube.com/watch?v=wW9CAH9nSLs
  324. What is Docker?: http://www.youtube.com/watch?v=aLipr7tTuA4
  325. Getting Started With Docker: https://dzone.com/articles/docker-crash-course
  326. Docker Command Cheatsheet: http://dzone.com/articles/docker-command-cheatsheet
  327. Docker Commands for Development to Deployment: https://dzone.com/articles/docker-commands-for-development-to-deployment
  328. Docker For Developers: http://dzone.com/articles/docker-for-developers
  329. Introducing Docker to a Java developer: https://www.drissamri.be/blog/continuous-delivery/introducing-docker-java-developer/
  330. A Developer's Guide To Docker — Docker Compose: https://dzone.com/articles/a-developers-guide-to-docker-docker-compose?edition=376338&utm_source=Weekly Digest&utm_medium=email&utm_campaign=Weekly Digest 2018-05-23
  331. An Introduction to Docker for Mac: https://dzone.com/articles/an-introduction-to-docker-for-mac
  332. Monitoring Docker Containers - docker stats, cAdvisor, Universal Control Plane: http://blog.couchbase.com/2016/april/monitoring-docker-containers-docker-stats-cadvisor-universal-control-plane
  333. Help me improve my Continuous Deployment workflow: http://stackoverflow.com/questions/3703373/help-me-improve-my-continuous-deployment-workflow
  334. Continuous Deployment, Code Review and Pre-Tested Commits on Digg: http://web.archive.org/web/20120306142705/http://about.digg.com/blog/continuous-deployment-code-review-and-pre-tested-commits-digg4 (DevOps was a key part of Digg's "comeback" after M&A takeover and re-sale)
  335. DevOps Cafe on Continuous Deployment and Operations Dashboards at kaChing: http://web.archive.org/web/20101006202223/http://eng.kaching.com/2010/09/devops-cafe-on-continuous-deployment.html
  336. The DevOps Approach -- Weekly IT Failures Refactoring and Automated Commits/Testing: https://dzone.com/articles/the-devops-weekly-it-failures-refactoring-and-auto
  337. 9 Steps to Developing Great Products: https://web.archive.org/web/20140515021701/http://www.digitalwoman.com/blog/9-steps-to-developing-great-software-products
  338. Get Started With Jenkins 2.0 With Docker: http://dzone.com/articles/get-started-with-jenkins-20-with-docker
  339. Getting started with Git & Docker for Windows containers: https://dzone.com/articles/git-windows-and-docke
  340. Why Docker is Not Yet Succeeding Widely in Production: http://sirupsen.com/production-docker/
  341. Docker Machine, Compose, and Swarm: How They Work Together: http://dzone.com/articles/docker-machine-compose-swarm-how-they-work-togethe
  342. 21 DevOps and Docker Reference Architectures: http://dzone.com/articles/21-devops-and-docker-reference-architectures
  343. Testing Java EE Using Docker: http://dzone.com/articles/testing-a-self-contained-javaee-app-using-arquillian
  344. Getting started with Docker by "Dockerizing" (aka Containerizing) a Blog: http://bencane.com/2015/12/01/getting-started-with-docker-by-dockerizing-this-blog/
  345. Docker Cheat Sheet: https://github.com/wsargent/docker-cheat-sheet
  346. Building a Development Environment With Docker: http://tersesystems.com/2013/11/20/building-a-development-environment-with-docker/
  347. How to Use Docker -- Creating Your First Docker Container: http://www.vultr.com/docs/how-to-use-docker-creating-your-first-docker-container
  348. Creating a Consistent Cross-platform Docker Development Environment: http://blog.codeship.com/cross-platform-docker-development-environment/
  349. Docker docs -- Step IV -- Build your own image: https://docs.docker.com/engine/getstarted/step_four/
  350. Crafting perfect Java Docker build flowCrafting perfect Java Docker build flow: https://codefresh.io/blog/java_docker_pipeline/
  351. Building a PHP Command Line App with Docker: https://blog.codeship.com/building-a-php-command-line-app-with-docker/
  352. A Dockerfile for Maven-Based GitHub Projects: https://dzone.com/articles/a-dockerfile-for-maven-based-github-projects
  353. Docker Commands for Development to Deployment: https://dzone.com/articles/docker-commands-for-development-to-deployment
  354. Intro to Docker (WEBINAR): https://dzone.com/articles/intro-to-docker-webinar-recap
  355. How to Create an Oracle Database Docker Image: https://dzone.com/articles/creating-an-oracle-database-docker-image
  356. Docker on bare metal?: https://stackoverflow.com/questions/20088835/docker-on-bare-metal
  357. How Docker Escaped Near-Death To Become Software's Next Big Thing: https://www.forbes.com/sites/alexkonrad/2015/07/01/how-docker-escaped-near-death-to-become-softwares-next-big-thing/#4e827d985747
  358. Docker Just Changed Windows Server as we Know It: https://thenewstack.io/docker-just-changed-windows-server-as-we-know-it/
  359. Docker is not for sale, insists a person close to the company: www.businessinsider.com/docker-not-for-sale-2015-6?op=1
  360. Docker for Beginners -- Part 1 - Containers and Virtual Machines: https://dzone.com/articles/part-4-docker-images-in-more-details
  361. Easy Container Cleanup in Cron + Docker Environments: https://blog.codeship.com/easy-container-cleanup-in-cron-docker-environments/
  362. How to Run Selenium Tests in Docker: https://info.blazemeter.com/thank-you-how-to-run-selenium-tests-in-docker-0
  363. A Developer's Guide to Docker -- A Gentle Introduction: https://dzone.com/articles/a-developers-guide-to-docker-a-gentle-introduction
  364. demo_android_docker: https://github.com/elye/demo_android_docker (using docker to build Android)
  365. Docker ENTRYPOINT & CMD -- Dockerfile best practices: https://medium.freecodecamp.org/docker-entrypoint-cmd-dockerfile-best-practices-abc591c30e21#6526
  366. Docker & Jenkins - Orchestrating Continuous Delivery: https://dzone.com/articles/docker-and-jenkins-orchestrating-continuous-delive
  367. Automation of the process building and deployment multi branch web application using Jenkins, Docker and Nginx_ : https://www.future-processing.pl/blog/building-and-deployment-multi-branch-web-application/
  368. Jenkins, Docker & DevOps -- The Innovation Catalysts - Part 4: https://www.cloudbees.com/blog/jenkins-docker-and-devops-innovation-catalysts-part-4
  369. Everyday Hacks for Docker: https://codefresh.io/docker-tutorial/everyday-hacks-docker/
  370. Tips and Tricks of the Docker Captains: https://dockercon2018.hubs.vidyard.com/watch/AKygsfpxSNuixBEXk5tLjD
  371. Docker Healthchecks -- Why Not To Use `curl` or `iwr`: https://blog.sixeyed.com/docker-healthchecks-why-not-to-use-curl-or-iwr/
  372. Windows Weekly Dockerfile #15 -- Healthchecks: https://blog.sixeyed.com/windows-weekly-dockerfile-15-healthchecks/
  373. Best Practices for Building Containers: https://cloud.google.com/solutions/best-practices-for-building-containers
  374. The Forrester New Wave™: Enterprise Container Platform Software Suites, Q4 2018: https://reprints.forrester.com/#/assets/2/1492/RES141562/reports
  375. How to deal with persistent storage (e.g. databases) in Docker: https://stackoverflow.com/questions/18496940/how-to-deal-with-persistent-storage-e-g-databases-in-docker#20652410
  376. Data-only container madness: https://container42.com/2014/11/18/data-only-container-madness/
  377. Layering your Docker images with dependencies: https://blog.frankel.ch/layering-docker-images-dependencies/
  378. Full Build Automation For Java Application Using Docker Containers: https://dzone.com/articles/full-build-automation-for-java-application-using-d
  379. Don't Put Fat Jars in Docker Images: https://phauer.com/2019/no-fat-jar-in-docker-image/
  380. Microservices and DevOps Using Java, Spring Boot, Git Flow, Jenkins, and Docker: https://dzone.com/articles/microservices-and-devops-1
  381. Learn How to Package a Spring Boot Application as a Docker Container: https://dzone.com/articles/how-to-package-a-spring-boot-app-as-a-docker-container
  382. API Builder: A Simple CI/CD Implementation – Part 1: https://dzone.com/articles/api-builder-a-simple-cicd-implementation-part-1
  383. Docker Layers Explained: https://dzone.com/articles/docker-layers-explained
  384. Build a Docker image using Maven and Spring Boot: https://medium.com/swlh/build-a-docker-image-using-maven-and-spring-boot-58147045a400
  385. Webinar Summary -- Java, Containers and IntelliJ IDEA: https://blog.jetbrains.com/idea/2020/12/webinar-summary-java-containers-and-intellij-idea/
  386. How to Monitor the Resource Usage of Docker Containers: https://www.cloudsavvyit.com/13715/how-to-monitor-the-resource-usage-of-docker-containers/
  387. Kasm Workspaces - The Container Streaming Platform®: https://www.kasmweb.com (can be used to create "containers in the browser" rather than on your OS)
  388. Death of Docker?: https://medium.com/@adityamishraa/death-of-docker-5e134a986d2b
  389. Stop using "alpine" Docker images: https://medium.com/inside-sumup/stop-using-alpine-docker-images-fbf122c63010 (try even more "bare bones" & non-CLI alternatives like Scratch or Distroless)
  390. What is Kubernetes?: https://kubernetes.io/docs/concepts/overview/what-is-kubernetes/
  391. The Kubernetes Effect: https://www.infoq.com/articles/kubernetes-effect
  392. Refactor Zone -- Kubernetes is hard: https://medium.com/refactor-zone/kubernetes-is-hard-c776435ae783
  393. Refactor Zone -- Why people want Kubernetes: https://medium.com/refactor-zone/why-people-want-kubernetes-6b2bed1a2d39
  394. Zero-Downtime Rolling Updates With Kubernetes: https://blog.sebastian-daschner.com/entries/zero-downtime-updates-kubernetes
  395. A Comparison of Kubernetes Distributions: https://dzone.com/articles/kubernetes-distributions-how-do-i-choose-one
  396. Kubernetes for Scalability and High Availability in Microservices: https://dzone.com/articles/kubernetes-for-scalability-and-high-availability
  397. Continuous Security: Delivering Secure Apps on Kubernetes: https://dzone.com/articles/continuous-security-delivering-secure-apps-on-kube
  398. A Production-Ready Checklist for Kubernetes: https://dzone.com/articles/a-production-ready-checklist-for-kubernetes
  399. Fully automated canary deployments in Kubernetes: https://codefresh.io/kubernetes-tutorial/fully-automated-canary-deployments-kubernetes/
  400. Best Practices for Running Containers and Kubernetes in Production: https://www.gartner.com/doc/reprints?id=1-1XOUJW78&ct=191028&st=sb
  401. Skaffold -- K8s Development Made Easy: https://dzone.com/articles/skaffold-k8s-development-made-easy
  402. Avoid Docker (daemon) in Docker (container) in Windows 10: https://dzone.com/articles/avoid-docker-in-docker-in-windows-10 (with Kubernetes Cloud, Istio & port-forwarding managed via Kiali)
  403. How To Setup a CI/CD Pipeline With Kubernetes: https://dzone.com/articles/how-to-setup-a-cicd-pipeline-with-kubernetes-2020 (tour of “kubectl” commands and accompanying YAML wrappers for Environment setup, Deployment steps, etc)
  404. PodSecurityPolicy Deprecation -- Past, Present, and Future: https://kubernetes.io/blog/2021/04/06/podsecuritypolicy-deprecation-past-present-and-future/
  405. (Deploying HashiCorp's) Vault on Kubernetes with Spring Cloud: https://piotrminkowski.com/2021/12/30/vault-on-kubernetes-with-spring-cloud/
  406. Running a free Kubernetes cluster on Oracle Cloud: https://arnoldgalovics.com/free-kubernetes-oracle-cloud/
  407. Native Java in the Real World: https://www.infoq.com/articles/native-java-real-world/
  408. Six Keys for Platform Teams to Operate Kubernetes at Scale: https://containerjournal.com/features/six-keys-for-platform-teams-to-operate-kubernetes-at-scale/
  409. Write your first CI/CD pipeline in Kubernetes with Tekton (pipeline syntax for Kubernetes/OpenShift): https://opensource.com/article/21/11/cicd-pipeline-kubernetes-tekton
  410. Deploy a Java application using Helm, Part 1: https://developers.redhat.com/articles/2021/10/19/deploy-java-application-using-helm-part-1#testing_the_enterprise_java_application
  411. Deploy a Java application using Helm, Part 2: https://developers.redhat.com/articles/2021/10/21/deploy-java-application-using-helm-part-2#testing_the_enterprise_java_application
  412. Spinnaker + Chef/Puppet/Ansible: https://blog.spinnaker.io/spinnaker-chef-puppet-ansible-a0643ed8c6d8
  413. Continuous Delivery With Spinnaker (BOOK): https://spinnaker.io/concepts/ebook/ContinuousDeliveryWithSpinnaker.pdf
  414. wikipedia: Chef (software)
  415. wikipedia: Puppet (software)
  416. Ansible -- uri - Interacts with webservices: https://docs.ansible.com/ansible/latest/modules/uri_module.html
  417. How to Install and Configure Ansible on Ubuntu (Part 1): https://appfleet.com/blog/how-to-install-and-configure-ansible-on-ubuntu-part-1/
  418. Install and Setup Docker Using Ansible on Ubuntu 18.x (Part 2): https://dzone.com/articles/install-and-setup-docker-using-ansible-on-ubuntu-1
  419. DCIM, the Data Center Manager and the Software Defined Data Center: http://blog.schneider-electric.com/datacenter/2014/11/07/dcim-data-center-manager-software-defined-data-center/
  420. What is Data Center Infrastructure Management (DCIM)?: http://www.itracs.com/what-is-data-center-infrastructure-management/ (1% penetration in 2010, to 60% penetration in 2014)
  421. Reproducible Builds in Java (using Gradle): https://dzone.com/articles/reproducible-builds-in-java

See Also

SSH | Shell | Batch | SCM | SVN | CVS | Testing | Maven | Ant | [[Groovy | YAML | DevOps | Continuous Testing | Cloud Computing