From BC$ MobileTV Wiki
Revision as of 07:07, 18 June 2022 by Bcmoney (Talk | contribs) (Kubernetes)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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 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.


Build Management



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


See Maven


See Ant

















Travis CI

  • Travis CI: (Cloud-hosted Continuous Integration Software-As-A-Service; tight coupling & integration to GitHub)




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]





BitBucket Pipelines

GitHub Actions

[301] [302]


[303] [304] [305]


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 (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]


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


[410] [411]


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]





External Links


  1. Continuous Integration (original version):
  2. Wikipedia's Continuous Integration (CI) workflow:
  3. Continuous Integration on a Dollar a Day:
  4. Continuous Integration for Pull Requests with Jenkins and Bitbucket Server (Stash):
  5. Merging with git branches with Jenkins:
  6. Automatic branch merging for Bitbucket Cloud:
  7. Automatic branch merging:
  8. Continuous Integration essentials:
  9. Accelerating Your Delivery Pipeline with ReadyAPI & Jenkins:
  10. Examining CI, CD and branching models:
  11. Trunk, CI, Builds, Environments, and Integration:
  12. Do you CI?:
  13. Five tips for CI-friendly GIT repos:
  14. Continuous Integration on Cloud Versus on Premise -- A Review of Integration Tools:
  15. Jenkins vs. Bamboo – Battle Of The Best CI/CD Tools:
  16. Learn How to Set Up a CI/CD Pipeline From Scratch:
  17. The End of the Build Master Era:
  18. Continuous Delivery checklist template: (Trello template checklist based on chapters in CD book)
  19. Checklist -- Is my Team ready for Continuous Delivery?:
  20. Useful tool for tracking Continuous Delivery –
  21. Checklist for Continuous Integration and Automation Deployment:
  22. Atlassian Guide to Continuous Delivery:
  23. Continuous Delivery -- Anatomy of the Deployment Pipeline: (a chapter from the "Continuous Delivery" book)
  24. How to Set Up a Continuous Delivery Environment:
  25. Continuous Delivery pioneer Jez Humble on how to counter the "Sounds Great But It Won’t Work Here" argument:
  26. Building a Continuous Delivery Pipeline with Git & Jenkins:
  27. Testing in Production - Quality Software Faster:
  28. 11 (of the most common) Continuous Delivery Anti-Patterns:
  29. What’s the Value of CI/CD?:
  30. Local Continuous Delivery Environment With Docker and Jenkins:
  31. The simplest guide to using Blue/Green deployment in Kubernetes: | WEBINAR
  32. Moving Towards Continuous Delivery One Commit at a Time:
  33. The Case for Continuous Delivery:
  34. Defining a Test Strategy for Continuous Delivery:
  35. 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:
  37. How a one line change decreased our clone times by 99%:
  38. Why interoperability in CI/CD matters for 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:
  40. Let's stop fooling ourselves. What we call CI/CD is actually only CI :
  41. 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:
  43. What’s in a container? You don’t know, and that’s a problem:
  44. :
  45. Enterprise Containers 101 with Red Hat platform architect, Langdon White:
  46. It's Containers All the Way Down (Iron .vs. Virtual .vs. Container):
  47. Why Docker? The Image API is Everywhere:
  48. Introduction to Docker
  49. An Introduction to Docker -- The Performance Perspective – Part 1:
  50. Codefresh -- CI/CD Pipelines for Microservices: ("Container-based Pipeline")
  51. How we use feature flags:
  52. Feature Flags vs. Canaries - can they ever live together?:
  53. Continuous Delivery vs. Continuous Deployment -- An Overview:
  54. Continuous Integration vs. Continuous Delivery vs. Continuous Deployment:
  55. Codeship -- Jenkins Migration guide - Testing:
  56. Codeship -- Jenkins Migration guide - Organizations, Roles & Users:
  57. Codeship -- Jenkins Migration guide - Notifications (Slack, HipChat, Email, SMS, etc):
  58. The Road (from legacy app & slow/infrequent manual release schedule) to Continuous Deployment:
  59. The One Thing That Is Repeatedly Breaking Your CI/CD Workflow: (HINT: lack of automated Monitoring/Root Cause analysis)
  60. Continuous Deployments – the Holy Grail of Your Continuous Delivery Pipeline:
  61. Continuous Delivery & Release Automation (CDRA) – Critical To DevOps Success:
  62. Cracking the "Continuous Deployment" code:
  63. How do you do Continuous Integration with Pull Requests?:
  64. JReleaser says hello!:
  65. How to Install Gradle (and setup/configure for command-line use):
  66. Gradle Tutorial - How to install Gradle on Windows:
  67. Equivalents for mvn update and mvn install in gradle:
  68. Migrating Builds From Apache Maven:
  69. Gradle vs Maven Comparison:
  70. Gradle .vs. Maven -- side by side comparison:
  71. Ant .vs. Maven .vs. Gradle:
  72. A Puzzle – Gradle or Maven:
  73. Java Build Tools - Ant vs Maven vs Gradle:
  74. Java Build Tools example repo:
  75. Building Android applications with Gradle - Tutorial:
  76. Configure your Android build:
  77. How to Display Dependency Tree of Your Android Project with Gradle?:
  78. Why do the Gradle/Maven wrappers matter?:
  79. Checking in the Gradle Wrapper or Not?:
  80. Tip -- Use local Gradle distribution instead of wrapper:
  81. Upgrading Gradle for Cordova mobile apps in Windows:
  82. Could not find an installed version of Gradle either in Android Studio, or on your system to install the gradle wrapper:
  83. Gradle - Getting Started guide:
  84. Hudson downloads:
  85. Local Hudson deployment: http://localhost:8805 (typical deploy location)
  86. Kohsuke Kawaguchi -- Sun Microsystems - Evolution/History of "Hudson":
  87. A Getting Started Guide to Setting up Jenkins:
  88. Getting Started With Jenkins -- The Ultimate Guide:
  89. A Getting Started Guide to Setting up Jenkins:
  90. How to change the default port in Jenkins:
  91. Comprehensive Jenkins CI tutorial:
  92. Prepare Jenkins for Support (by tuning runargs & JVM):
  93. Jenkins meets the corporate proxy:
  94. How to configure Jenkins for proxy:
  95. 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:
  97. Jenkins - Matrix Authorization:
  98. Trigger Jenkins builds by pushing to Github:
  99. Schedule Jenkins build periodically - hourly, daily, weekly. Jenkins schedule format:
  100. How do I schedule jobs in Jenkins?:
  101. Spread load evenly by using ‘H * * * *’ rather than ‘5 * * * *’:
  102. How to get the most out of Jenkins:
  103. How to Trigger Non-Multibranch Jobs from Bitbucket Cloud?:
  104. How to connect Bitbucket to Jenkins properly:
  105. BitBucket WebHook Jenkins:
  106. How to build an automated Continuous Deployment pipeline with Jenkins and Bitbucket:
  107. How do I get Jenkins to build on push to a BitBucket git repository?:
  108. Bitbucket Pipelines vs Jenkins Pipeline:
  109. Jenkins Cluster Setup With Docker Containers:
  110. Learning Continuous Integration with Jenkins, 2nd Edition (BOOK):
  111. How to Set Up and Run Selenium Tests in Jenkins Using Maven and JUnit:
  112. Web QA publishes automated test results:
  113. Security DevOps with Jenkins CI:
  114. Top 5 Most Useful Jenkins Plugins for PHP Projects:
  115. JavaScript + Jenkins = Winning!:
  116. Jenkins restrict view of jobs per user:
  117. UI automation framework on Jenkins + Docker:
  118. How to move an existing job from one view to another in Jenkins?:
  119. How to move jenkins job to sub folder?:
  120. Set environment variables from shell script in jenkins:
  121. 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): (how to get Environment variables "injected via properties file" so its usable between separate steps/plugins)
  123. Passing data between build steps in Jenkins:
  124. Jenkins wiki (OFFICIAL) -- Remote access API:
  125. CSRF Protection (crumbs) in Jenkins explained:
  126. Jenkins -- Trigger build remotely via script using CSRF) crumb:
  127. How to update a Jenkins job posting config.xml:
  128. How to request for the crumb issuer for Jenkinshttps://stackov:
  129. Spinnaker -- 403 No valid crumb was included in the request:
  130. "HTTP Request" plugin: | DOCS | SRC
  131. How to build a job using the REST API and Java?:
  132. How to create a job using the REST API and cURL?:
  133. How to add crumb for CSRF in Jenkins via JSON / JS:
  134. Calling a Jenkins build from outside of Jenkins?:
  135. How to request for the crumb issuer for Jenkins:
  136. Deploying your built ".war" file from Jenkins to Tomcat:
  137. An easier way to create custom Jenkins containers:
  138. Hands On - Beautify the user interface of Jenkins reporter plugins:
  139. How to Setup Custom UI Theme For Jenkins: (change the default Jenkins CSS)
  140. jenkins "material-theme":
  141. How to move an existing job from one view to another in Jenkins?:
  142. Use Jenkins WORKSPACE environment variable in Jenkins declarative pipeline parameter: (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):
  144. Using a Jenkinsfile:
  145. Top 10 best practices for Jenkins Pipeline:
  146. Refactoring a Jenkins plugin for compatibility with Pipeline jobs:
  147. Is there a tool that makes it possible to validate Jenkinsfiles online?:
  148. JenkinsWorld -- 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:
  150. Jenkins Live Demos -- Pipeline, Git, and Blue Ocean:
  151. Top 10 Best Practices for Jenkins Pipeline:
  152. Sending Notifications from Jenkins Pipeline (to Email, HipChat or Slack):
  153. Declarative Pipeline: Notifications and Shared Libraries:
  154. Cloudbees - Sending Notifications in Pipeline:
  155. Jenkins Pipeline Tutorial For Beginners:
  156. Jenkins2 Pipeline jobs using Groovy code in Jenkinsfile:
  157. Comparison grid of Scripted .vs. Declarative:
  158. How to Use the Jenkins Declarative Pipeline:
  159. Jenkins2.0 Pipeline jobs using Groovy code in Jenkinsfile:
  160. Only modified files in Jenkins:
  161. Jenkins Workflow -- Scripting Out Complex Builds: (Jenkins Workflow is the former name of Jenkins 2.0 Pipelines)
  162. Continuous Delivery With Jenkins Workflow:
  163. Use Jenkins 'Mailer' inside pipeline workflow:
  164. Jenkins Tip - Send notifications on fixed builds in declarative pipeline:
  165. How to access Changelogs in a Pipeline Job? :
  166. Declarative pipeline send email:
  167. Jenkins Pipeline Groovy Script: Use `mail` in Jenkinsfile:
  168. Delivery Pipeline Plugin: (build "pipeline visualization" dashboard that preceded the BlueOcean rewrite)
  169. Build Pipeline Plugin: (build "pipeline visualization" dashboard that preceded the BlueOcean rewrite)
  170. How to send “back to normal” notifications in Jenkins Declarative Pipeline?:
  171. How to use post steps with Jenkins pipeline on multiple agents?:
  172. How to build on Jenkins and publish artifacts via SSH with Pipelines:
  173. How to include git changelog in Jenkins emails?:
  174. How to get build time stamp from Jenkins build variables?:
  175. What is the difference between a node, stage, and step in Jenkins Pipelines?:
  176. script-security-plugin:
  177. Intro to Jenkins Pipelines and Publishing Over SSH:
  178. Automated Performance Tests in Jenkins CI Environment:
  179. Running Selenium Cucumber Tests in Jenkins :
  180. Visualizing JMeter .jtl Files Viewed as An .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:
  182. Complete Guide for Selenium integration with jenkins Maven:
  183. Continuous Integration With Xcode Server on MacOS:
  184. Running SoapUI Tests From Jenkins:
  185. Jenkins - Automated Upgrade (of jenkins.war):
  186. Jenkins -- Failed to connect to repository:
  187. Jenkins Tutorial - Continuous Integration Using Jenkins:
  188. Automating with Jenkins and PowerShell on Windows - Part 1:
  189. Automating with Jenkins and PowerShell on Windows - Part 2:
  190. Run Jenkins Build From Command Line:
  191. How to copy file from SSH remote host to Jenkins Server:
  192. SSH Credentials Management with Jenkins:
  193. Injecting Secrets into Jenkins Build Jobs:
  194. Using Credentials in Jenkins (safely/securely):
  195. How to use credentials in Jenkins projects?:
  196. Jenkins - Working with Credentials in your pipeline:
  197. How to Start, Stop or Restart your Instance?:
  198. 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: (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:
  201. Jenkins Build Per Branch:
  202. Incrementing Maven Project Version with Jenkins/Git:
  203. Jenkins, Maven and semantic versioning -- How to increment either the major or minor version:
  204. Using Jenkins Build Version With Maven:
  205. 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:
  207. Configuring a Jenkins Slave:
  208. Jenkins Slave Nodes:
  209. Best Practices for Setting up Jenkins Auditing and Compliance:
  210. Securing Jenkins:
  211. Standard Security Setup:
  212. Jenkins integration: (Python code example)
  213. Splunk Plugin for Jenkins:
  214. Jenkins Splunk:
  215. Splunk app - Jenkins:
  216. Splunk - Dashboard examples:
  217. Splunk app - Slideshow: (rolls through several Splunk Dashboards)
  218. Splunk - props.conf:
  219. Better Control of Permissions on Production Jenkins Instance:
  220. Jenkins project based authorization:
  221. Sample job permission configuration:
  222. Listing of Jenkins Auth Matrix roles:
  223. Can't find
  224. My software builds on my computer but not on Jenkins:
  225. Maven build fails on Jenkins:
  226. Getting exception while configuring the maven project in jenkins:
  227. Deploy your app to Linux VMs by using Jenkins and Team Services:
  228. "Blue - Green" Deployment with Jenkins: (CD .vs. CDD)
  229. Using Jenkins to build a Node.js and React application with npm:
  230. Continuous integration using Jenkins and GitHub to automate deployment:
  231. Advantages of Jenkins:
  232. Jumping into continuous delivery with Jenkins and SSH:
  233. Holistic Pipelines -- Promoting Docker Images: (Jenkins + Docker)
  234. 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?:
  236. Jenkins – Get the build user name in job config:
  237. Getting the current user in Jenkins:
  238. How can I set the Sender's address in Jenkins?:
  239. How to list all `env` properties within Jenkins Pipeline job?:
  240. Jenkins Pipeline plugin tutorial:
  241. Checkout Jenkins Pipeline Git SCM with credentials?:
  242. 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:
  244. Fix Shell Script Run via SSH Hanging (Jenkins):
  245. SSH to a server from Jenkins and run shell commands:
  246. Jenkins -- git clone gets hung and gets timedout:
  247. Jenkins Configuration as Code -- Automating an Automation Server:
  248. Jenkins Build Pipeline Scheduled Trigger:
  249. Tips on Jenkins — a Decade Later — for Continuous Delivery:
  250. Jenkins Pipelines and their dirty secrets:
  251. Using Jenkins Input Step Correctly:
  252. Is there a way to insert a manual approval in Jenkins 2 pipelines?:
  253. Another Look at the Jenkins Promoted Builds Plugin:
  254. Jenkins plugins -- Pipeline compatible - JUnit:
  255. Jenkins plugins -- Pipeline compatible - Test Results Analyzer:
  256. Parallel stages with Declarative Pipeline 1.2:
  257. JUnit3 and Junit4 XML Reports with Maven:
  258. Publishing HTML Reports in Pipeline:
  259. Recording tests and artifacts:
  260. Not able to display JUnit tests result in Jenkins Pipeline:
  261. 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:
  263. Jenkins Pipeline - multiline shell commands with pipe:
  264. Using a Jenkinsfile - Using Environment Variables:
  265. How To Set Jenkins Pipeline Environment Variables?:
  266. How To Set Jenkins Pipeline Environment Variables?:
  267. Getting started with Blue Ocean:
  268. Create a Pipeline in Blue Ocean: (aka. Jenkins 2.0's "long-awaited" Enterprise Wallboard/Dashboard)
  269. Jenkins 2.0 is here!:
  270. Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜 :
  271. Introducing Blue Ocean -- a new user experience for Jenkins:
  272. Getting Started with Blue Ocean:
  273. Jenkins Community Introduces Blue Ocean, A Radical Evolution of the User Experience that Makes Jenkins the Clear Leader for Continuous Delivery:
  274. Jenkins Gets a Facelift with Release of Blue Ocean 1.0:
  275. Jenkins makes a UX splash with Blue Ocean:
  276. Jenkins 2.0 First Impressions:
  277. Intro to Jenkins 2 and the Power of Pipelines:
  278. Docker image - Jenkins BlueOcean: (a "ready to go" Docker container loaded with Jenkins + BlueOcean + dependencies)
  279. Install and setup BlueOcean for Jenkins:
  280. Blue Ocean — A New UX for Jenkins:
  281. Jenkins -- Generating Blue Ocean URLs:
  282. OpenShift Pipelines with Jenkins Blue Ocean:
  283. Continuous Delivery with Jenkins Workflow and Docker Explained:
  284. 30 Jenkins features and plugins you wished you had known about before!: (nice presentation focused on getting the most out of Jenkins Pipelines/BlueOcean by Joep Weijers)
  285. StackOverflow -- Jenkins tagged Questions & Answers:
  286. Jenkins Configuration as Code (a.k.a. JCasC) Plugin:
  287. How to setup Jenkins as an active/passive cluster in order to increase reliability and prevent downtime:
  288. How to move an existing job from one view to another in Jenkins?:
  289. Jenkins -- X or 2.0?:
  290. All You Need to Know About Jenkins X:
  291. Jenkins X Step-by-Step Tutorial to Continuous Deployment with Kubernetes:
  292. Jenkins - Dynamic Parametrization | Multi-Option Parameters:
  293. Delivery Pipelines, with Jenkins 2, SonarQube, and Artifactory:
  294. Jenkins CI/CD is in trouble, so its founder wants to split it up: (into Jenkins BlueOcean/ClassicUI-based & JenkinsX/Kubernetes-based)
  295. Declarative Jenkins Pipeline use existing Kubernetes Pod Template:
  296. Creating a Jenkins environment variable using Groovy:
  297. Jenkins with Superpowers: (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:
  299. Five Initiatives to Modernize Jenkins and Kill the "Jenkinsteins":
  300. New version of JRebel for NetBeans Plugin 6.1.0:
  301. Publishing Docker images to GitHub Container Registry with GitHub Actions:
  302. Stop re-writing pipelines! Why GitHub Actions (and similar approaches like "Jenkins shared build configs") drive the future of CI/CD:
  303. ContainerPilot: | SRC (previously "ContainerBuddy", is a library for autodiscovery & configuration of applications running in containers)
  304. Simplifying service discovery in Docker with Containerbuddy:
  305. What is Containerbuddy?:
  306. Docker Enterprise Adoption (INFOGRAPHIC):
  307. Docker and Its Challenges for Enterprise IT:
  308. Docker Basics, Commands, and Usage:
  309. Docker – Clean Up After Yourself!:
  310. Do I Need OpenStack If I Use Docker?:
  311. 5 Key Benefits of Docker -- CI, Version Control, Portability, Isolation and Security:
  312. Docker Security - More than Meets the Eye: (lots of security problems with user-contributed and even sample Docker container images)
  313. Docker Without Root Privileges:
  314. Docker Commands — The Ultimate Cheat Sheet:
  315. It's Containers All the Way Down:
  316. The Complete Docker Collection of tutorials:
  317. Migration From VMs to Containers:
  318. Containers and VMs Together:
  320. Docker Machine on Windows - How To Setup You Hosts:
  321. Cross-Platform Hybrid Cloud with Docker:
  322. Docker and IBM Bluemix Containers Reference Sheet:
  323. Solomon Hykes - 1st Public Talk on Docker:
  324. What is Docker?:
  325. Getting Started With Docker:
  326. Docker Command Cheatsheet:
  327. Docker Commands for Development to Deployment:
  328. Docker For Developers:
  329. Introducing Docker to a Java developer:
  330. A Developer's Guide To Docker — Docker Compose: Digest&utm_medium=email&utm_campaign=Weekly Digest 2018-05-23
  331. An Introduction to Docker for Mac:
  332. Monitoring Docker Containers - docker stats, cAdvisor, Universal Control Plane:
  333. Help me improve my Continuous Deployment workflow:
  334. Continuous Deployment, Code Review and Pre-Tested Commits on Digg: (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:
  336. The DevOps Approach -- Weekly IT Failures Refactoring and Automated Commits/Testing:
  337. 9 Steps to Developing Great Products:
  338. Get Started With Jenkins 2.0 With Docker:
  339. Getting started with Git & Docker for Windows containers:
  340. Why Docker is Not Yet Succeeding Widely in Production:
  341. Docker Machine, Compose, and Swarm: How They Work Together:
  342. 21 DevOps and Docker Reference Architectures:
  343. Testing Java EE Using Docker:
  344. Getting started with Docker by "Dockerizing" (aka Containerizing) a Blog:
  345. Docker Cheat Sheet:
  346. Building a Development Environment With Docker:
  347. How to Use Docker -- Creating Your First Docker Container:
  348. Creating a Consistent Cross-platform Docker Development Environment:
  349. Docker docs -- Step IV -- Build your own image:
  350. Crafting perfect Java Docker build flowCrafting perfect Java Docker build flow:
  351. Building a PHP Command Line App with Docker:
  352. A Dockerfile for Maven-Based GitHub Projects:
  353. Docker Commands for Development to Deployment:
  354. Intro to Docker (WEBINAR):
  355. How to Create an Oracle Database Docker Image:
  356. Docker on bare metal?:
  357. How Docker Escaped Near-Death To Become Software's Next Big Thing:
  358. Docker Just Changed Windows Server as we Know It:
  359. Docker is not for sale, insists a person close to the company:
  360. Docker for Beginners -- Part 1 - Containers and Virtual Machines:
  361. Easy Container Cleanup in Cron + Docker Environments:
  362. How to Run Selenium Tests in Docker:
  363. A Developer's Guide to Docker -- A Gentle Introduction:
  364. demo_android_docker: (using docker to build Android)
  365. Docker ENTRYPOINT & CMD -- Dockerfile best practices:
  366. Docker & Jenkins - Orchestrating Continuous Delivery:
  367. Automation of the process building and deployment multi branch web application using Jenkins, Docker and Nginx_ :
  368. Jenkins, Docker & DevOps -- The Innovation Catalysts - Part 4:
  369. Everyday Hacks for Docker:
  370. Tips and Tricks of the Docker Captains:
  371. Docker Healthchecks -- Why Not To Use `curl` or `iwr`:
  372. Windows Weekly Dockerfile #15 -- Healthchecks:
  373. Best Practices for Building Containers:
  374. The Forrester New Wave™: Enterprise Container Platform Software Suites, Q4 2018:
  375. How to deal with persistent storage (e.g. databases) in Docker:
  376. Data-only container madness:
  377. Layering your Docker images with dependencies:
  378. Full Build Automation For Java Application Using Docker Containers:
  379. Don't Put Fat Jars in Docker Images:
  380. Microservices and DevOps Using Java, Spring Boot, Git Flow, Jenkins, and Docker:
  381. Learn How to Package a Spring Boot Application as a Docker Container:
  382. API Builder: A Simple CI/CD Implementation – Part 1:
  383. Docker Layers Explained:
  384. Build a Docker image using Maven and Spring Boot:
  385. Webinar Summary -- Java, Containers and IntelliJ IDEA:
  386. How to Monitor the Resource Usage of Docker Containers:
  387. Kasm Workspaces - The Container Streaming Platform®: (can be used to create "containers in the browser" rather than on your OS)
  388. Death of Docker?:
  389. Stop using "alpine" Docker images: (try even more "bare bones" & non-CLI alternatives like Scratch or Distroless)
  390. What is Kubernetes?:
  391. The Kubernetes Effect:
  392. Refactor Zone -- Kubernetes is hard:
  393. Refactor Zone -- Why people want Kubernetes:
  394. Zero-Downtime Rolling Updates With Kubernetes:
  395. A Comparison of Kubernetes Distributions:
  396. Kubernetes for Scalability and High Availability in Microservices:
  397. Continuous Security: Delivering Secure Apps on Kubernetes:
  398. A Production-Ready Checklist for Kubernetes:
  399. Fully automated canary deployments in Kubernetes:
  400. Best Practices for Running Containers and Kubernetes in Production:
  401. Skaffold -- K8s Development Made Easy:
  402. Avoid Docker (daemon) in Docker (container) in Windows 10: (with Kubernetes Cloud, Istio & port-forwarding managed via Kiali)
  403. How To Setup a CI/CD Pipeline With Kubernetes: (tour of “kubectl” commands and accompanying YAML wrappers for Environment setup, Deployment steps, etc)
  404. PodSecurityPolicy Deprecation -- Past, Present, and Future:
  405. (Deploying HashiCorp's) Vault on Kubernetes with Spring Cloud:
  406. Running a free Kubernetes cluster on Oracle Cloud:
  407. Native Java in the Real World:
  408. 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):
  410. Deploy a Java application using Helm, Part 1:
  411. Deploy a Java application using Helm, Part 2:
  412. Spinnaker + Chef/Puppet/Ansible:
  413. Continuous Delivery With Spinnaker (BOOK):
  414. wikipedia: Chef (software)
  415. wikipedia: Puppet (software)
  416. Ansible -- uri - Interacts with webservices:
  417. How to Install and Configure Ansible on Ubuntu (Part 1):
  418. Install and Setup Docker Using Ansible on Ubuntu 18.x (Part 2):
  419. DCIM, the Data Center Manager and the Software Defined Data Center:
  420. What is Data Center Infrastructure Management (DCIM)?: (1% penetration in 2010, to 60% penetration in 2014)
  421. Reproducible Builds in Java (using Gradle):

See Also

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