If you need an iPhone 8 case, your first impulse is to search for an iPhone 8 case and buy the one you like, right? Not so fast.
Data Science, Machine Learning, Natural Language Processing, Text Analysis, Recommendation Engine, R, Python
Tuesday, 31 October 2017
What’s the Difference Between APFS, Mac OS Extended (HFS+), and ExFAT?
How to Send a Steam Digital Gift Card in Any Amount
How to Enable Color Filters to Read the Screen More Clearly on Windows 10
Best Micro SD Cards for All Your Devices
It’s really hard to distinguish micro SD cards from one another. Besides their capacity, they’re all the same, right?
Click Here to Continue Reading
How to Connect to a VPN on a Chromebook
How to Switch Your iPhone to “Mono” Audio (So You Can Wear One Earbud)
Eight Alternatives to the Raspberry Pi
IIT Kharagpur researchers may have a better solution to fix car scratches & dents
How to Download Games to Your Xbox One From Your Phone
The Best Spooky Philips Hue Tricks for Halloween
Geek Trivia: Blood Drives Tied To Which Of These Movie Franchises Have Collected Over 120,000 Pints Of Blood?
Monday, 30 October 2017
How to Boot Into Safe Mode on Windows 8 or 10 (The Easy Way)
How to Block Cookies (Except for Sites You Use) in Any Browser
Worried About Breaking Your New iPhone? Get AppleCare, Not Carrier-Provided Insurance
Worried About Breaking Your New iPhone? Get AppleCare, Not Carrier-Provided Insurance
During the iPhone X pre-order rollout last Friday, Apple quietly updated their repair prices to include the new phone and one thing is perfectly…
Click Here to Continue Reading
What’s the Difference Between Ubuntu, openSUSE, and Fedora on Windows 10?
The Complete Guide to Improving Android Battery Life
Geek Trivia: Tim Burton Was Fired From Disney Over Which Of These Animated Shorts?
Jenkins User Conference China
|
This is a guest post by Forest Jing, who runs the Shanghai Jenkins Area Meetup |
I am excited to announce the inaugural Jenkins User Conference China will be taking place on November 19, 2017 in Shanghai, China. The theme of JUC China is “Jenkins Driven CD and DevOps”. Much like in the US, CD and DevOps are big topics of interest in China. We are honored to have Kohsuke Kawaguchi join us as one of the keynote speakers at this inaugural Jenkins event. We will also have sessions from many of China’s big named companies like Baidu, Tencet, Pinterest, Ctrip, Huawei, Microsoft, and more. Below are some highlights of the event.
Sunday Nov 19th Agenda
Morning keynote sessions
There will be 4 keynote speeches:
-
Kohsuke Kawaguchi, creator of Jenkins will introduce Jenkins Past, Present & Future.
-
Le Zhang, a very famous DevOps and CD expert will show pipeline driven CD and DevOps.
-
Engineering Director from Huawei will show the CD and DevOps practice in Huawei.
-
Xu Zheng from Pinterest will present Run Jenkins infrastructure as service in Kubernetes.
In the Afternoon, we have set up 3 tracks
-
CD & DevOps user stories from Microsoft, Tencent, Ctrip and JinDong - all are big companies in China.
-
Enterprise Jenkins experience the use of Jenkins as an enterprise tool not only for teams.
-
Workshop to lead engineers to practice CloudBees Jenkins and open source Jenkins features.
If you’re in the neighborhood, we sincerely invite you to join us at Jenkins User Conference China.
Follow us on Twitter @china_juc
6 handy tech accessories for your car
Betting on Internet of money
Sunday, 29 October 2017
What Unity Users Need to Know About Ubuntu 17.10’s GNOME Shell
Geek Trivia: Which Planet Did Carl Sagan Want To Terraform First?
Saturday, 28 October 2017
How Credit Card Skimmers Work, and How to Spot Them
Guardians of the Internet: An inside view from Microsoft's Digital Crimes Unit
Ashok Leyland to invest Rs 400-500 crore on Electric Vehicles
How to Factory Reset the Kwikset Kevo
Geek Trivia: Which Of These U.S. States Is Known For An Architectural Detail Called A “Witch Window”?
Friday, 27 October 2017
How to Make Your Pixel 2’s Colors More Vibrant with Oreo Colorizer
How to Uninstall Windows 10’s Built-in Apps (and How to Reinstall Them)
How to Get The Xbox One S Controller Working Properly With Android
How to Use Windows 10’s “Continue on PC” Feature With an iPhone or Android Phone
How to Enable Wi-Fi Calling on an Android Phone
Is the iPhone X Worth the Premium? Probably Not.
The iPhone X is officially on the market now and if you intend to upgrade your iPhone, but haven’t gotten around to it yet, now is the time…
Click Here to Continue Reading
The iPad’s Keyboard Can Type Symbols Faster in iOS 11: Here’s How
FinTech Startups: The rocket fuel for a less-cash economy
Cloud computing drives massive growth for big U.S. tech firms
Startups all set to engineer hiring rush at tech colleges
Pre-ordering the iPhone X Tonight? Here’s How to Cut in the Virtual Line
Apple pre-orders are usually a zoo and the release of the iPhone X is poised to be especially so.
Click Here to Continue Reading
How to Sync Your Apple TV’s Home Screen Across Multiple Apple TVs
Geek Trivia: The Coin Widely Believed To Have Popularized The Idea Of “Heads Or Tails” Was The?
Thursday, 26 October 2017
How to Back Up Your Mac and Restore Files With Time Machine
What Is Mixed Reality on Windows 10, and Should You Buy a Headset?
PSA: Parents, YouTube Is Littered with Creepy Pseudo “Kid-Friendly” Videos
There’s a growing and, frankly, disturbing trend on YouTube wherein people create and upload videos clearly geared towards children, but…
Click Here to Continue Reading
How to Make Video Chats Look Better with Your Computer’s Night Mode
PML rules: BSE seeks update on clients' Aadhaar nos
Trai recommendations on data ownership, privacy by December end or January
Tesla's seat strategy goes against the grain...for now
Microsoft stops manufacturing Kinect
How to Stop Spotify From Auto-Playing Music After You Finish a Playlist or Album
How to Install macOS High Sierra in VirtualBox on Windows 10
Amazon Key Lets Amazon Open Your Door, But Do You Really Want That?
Amazon’s brand new offering, Amazon Key, gives Amazon the power to open your door for delivery people, dog walkers, cleaners…
Click Here to Continue Reading
How to Download Videos from Your SkyBell HD
Geek Trivia: The Term “Personal Space” Was Injected Into The English Language By?
Wednesday, 25 October 2017
Amazon’s New Cloud Cam Is Like the Nest Cam, But a Whole Lot Cheaper
Today, in Amazon’s quest to make every single gadget in your home smarter and Alexa-connected, the company introduced the Amazon Cloud Cam…
Click Here to Continue Reading
How to Set Up Your Mac to Act as a Networked Time Machine Drive
How to Pick the Right Monitor Mount
Trump admin makes it more difficult for H-1B visa extension
Which Game Console is the Best for You? PS4 vs Xbox vs Switch
Console gaming is getting better—and in some ways, cheaper—than ever before.
Click Here to Continue Reading
How to Limit Windows Update’s Download Bandwidth on Windows 10
How to Change the Text Message and Other Notification Tones on Your iPhone
How to Block Spam Calls and Texts in Android, Manually and Automatically
What’s Up With the Pixel Screens? The Facts and the BS
Geek Trivia: Pneumoencephalography Is A Medical Procedure Where Your Spinal Fluid Is Replaced With?
Tuesday, 24 October 2017
What Are Electron Apps, and Why Have They Become So Common?
The Nintendo Switch Appears to Now Support GameCube Controllers
Curious players have discovered an unannounced feature in the new Switch update: you can use GameCube controllers with your Switch—if you h…
Click Here to Continue Reading
How to Record the Sound Coming From Your PC (Even Without Stereo Mix)
This new AI system can decode what's going on in your mind
Kaspersky detects Lazarus-controlled servers in India
US looks forward to complete $2 billion deal on drones with India
A Clicker Game About Paperclips Changed How I Think About Gaming
The Xbox One Gets Backwards Compatibility With Thirteen Original Xbox Games Starting Today
When the Xbox One first came out, it wasn’t backwards compatible with any older games.
Click Here to Continue Reading
How to Invert the Colors on Your Android Phone’s Screen
Voice Messaging Is the Best Chat Feature You’re Probably Not Using
How to Install Custom Themes and Visual Styles in Windows
Nintendo Announced a Super NES Edition of the 3DS XL, Complete with Super Mario Kart
Want to relive the glory days when the Super Nintendo ruled supreme even though you’re all grown up and have to leave the house?
Click Here to Continue Reading
Blockchain has potential to re-engineer cyber security
The Kindle Is Ten Years Old, and Amazon’s Celebrating With $30 Off a Few Models
It’s been nearly ten years since the first Amazon Kindle came out, with the explicit purpose of destroying physical books forever.
Click Here to Continue Reading
How to Watch the 2017 World Series Live
How to Scan QR Codes with the iPhone’s Camera App
Geek Trivia: Which Of Superman’s Powers Was Created At The Behest Of Animators?
Monday, 23 October 2017
Is Apple’s iPhone Upgrade Program Cheaper than Buying Outright?
The premise of Apple’s iPhone Upgrade Program is simple: you pay Apple a monthly subscription-like fee and, in return, they give you AppleCa…
Click Here to Continue Reading
How to Stop Windows 10 From Uploading Updates to Other PCs Over the Internet
The Best Chromebooks You Can Buy, 2017 Edition
How to Turn Off Vibration When Your iPhone Is On Silent (or All the Time)
How to Manage Windows 10’s New “Power Throttling” to Save Battery Life
Geek Trivia: Which Of These Countries Has A Traditional Calendar With Dozens Of Microseasons?
Security updates for multiple Jenkins plugins
Multiple Jenkins plugins received updates today that fix several security vulnerabilities.
Additionally, the Multijob Plugin also received a security update several weeks ago.
For an overview of these security fixes, see the security advisory.
Active Choices Plugin distribution had been suspended since April due to its mandatory dependency on the suspended Scriptler Plugin. That dependency has been made optional, so Active Choices can be used without having Scriptler installed. This means we are able to resume distribution of Active Choices Plugin again. It should be available on update sites later today.
We also announced a medium severity security vulnerability in SCP publisher plugin that does not have a fix at this time.
Subscribe to the jenkinsci-advisories mailing list to receive important future notifications related to Jenkins security.
Cost & availability of quality content to hamper VR growth
Sunday, 22 October 2017
How to Free Up Space on an iPhone or iPad
Geek Trivia: The Most Popular Laserdisc-Based Video Game Was?
Saturday, 21 October 2017
How to Make Your Samsung Galaxy Phone Feel More Like Stock Android
Abandon Your Real Job and Come Work For Universal Paperclips
It’s Friday. You’ve been working far too hard in your real job and you need a break. What kind of break?
Click Here to Continue Reading
Geek Trivia: Lakes Formed By Meteor Impacts Are Called?
Bitcoin soars to record high above $6,000
How an IIT team is aiming to make expensive biotech drugs more affordable
Digital India: Better safe ATMs than sorry
Dairies take to tech to monitor milk supplies & animal productivity
Friday, 20 October 2017
Smart Watches for Children Are Dangerous Garbage
A recent analysis of popular smart watches intended for children has revealed that the fledgling market is littered with devices that, at best, fail to…
Click Here to Continue Reading
Six Month Review: The Nintendo Switch Delivered On Its Lofty Promises
The Nintendo Switch came out earlier this year and the hardware looked great, but a few questions still lingered…
Click Here to Continue Reading
How to Check Your Motherboard Model Number on Your Windows PC
How to Spot Fake Stock Photos (and Attribute the Right Person)
How to Make Banner Notifications Stick on Your iPhone’s Screen (Instead of Disappearing)
How Windows Defender’s New Exploit Protection Works (and How to Configure It)
The Best Earplugs for Every Situation (Airplanes and Screaming Babies Included)
Hearing damage is permanent but completely avoidable—if you have the right hearing protection, that is.
Click Here to Continue Reading
How to Fix a Sticky or Stuck Crown on the Apple Watch
The Garmin Speak Puts Alexa In Your Car (No New Car Purchase Required)
Last month Amazon and BMW announced a partnership that puts Alexa-enabled voice navigation and assistance right in new BMWs—but you don’t ne…
Click Here to Continue Reading
Geek Trivia: During World War II, Which Of The Following Items Was Heavily Censored?
Thursday, 19 October 2017
How to Access Your Router If You Forget the Password
What Can You Do With Samsung’s Bixby?
How to Use a Limited Color Palette for Better Photos
Aire Is the Dystopian Domestic Security Drone Of Your Dreams
Secretly—we like to muse anyway—all smart home companies aspire to create a product straight out of a dystopi…
Click Here to Continue Reading
What’s New in Ubuntu 17.10 “Artful Aardvark”, Available Today
This Is What Happens When You Ask Google to Get Spooky In a Smart Home
With Halloween close at hand, Google wants to set the mood in your home.
Click Here to Continue Reading
How to Train Alexa to Recognize Different Voices (and Give More Personalized Answers)
Geek Trivia: The Term “Gerrymandering” Originated In Which U.S. State?
Wednesday, 18 October 2017
How to Quickly Make a Mac Photo Slideshow With Preview
Microsoft: Please Name Windows 10 Updates After Dogs
Mouse Aficionados Rejoice: The IntelliMouse Rides Again
Some tech comes and goes without much fanfare, and some tech—like the beloved Microsoft IntelliMouse—develops a cult following.
Click Here to Continue Reading
Let’s Face It, Phone Makers Are Just Bored
You know those days at work when you’ve finished your tasks and you’re waiting for the next importa…
Click Here to Continue Reading
The Nintendo Switch Accessories You’ll Actually Need
The Nintendo Switch is set to be one of the hottest gaming items this holiday season.
Click Here to Continue Reading
Best USB Car Chargers
The built-in USB ports in cars are notoriously under powered (and for anybody with multiple gadgets and passengers, notoriously under abundant).…
Click Here to Continue Reading
Best Full Size Multitool
When you need a lot of tools on hand for a variety of tasks but you can’t pack a toolbox, a full-size multitool should be your go to companion.
Click Here to Continue Reading
The Best Bluetooth Speakers for Your Shower Listening Needs
If you want to sing along in the shower or enjoy your favorite podcast radio dramas in the tub, you’ll want a solid and waterproof shower-fr…
Click Here to Continue Reading
Amazon Introduces Accounts for Teens (Your Purchase History is Finally Safe)
For years there’s been a glaring oversight in the Amazon Household ecosystem—a total lack of a “training” account for teenagers…
Click Here to Continue Reading
10 Best Keychain Tools
The best tool is the one you have with you, so what better place to have it stashed than on your keychain?
Click Here to Continue Reading
Announcing Review Geek: A Better Solution for Tech News and Reviews
How to Use “My People” on Windows 10’s Taskbar
How to Disable Haptic Feedback Vibrations on iOS
How to Protect Your Files From Ransomware With Windows Defender’s New “Controlled Folder Access”
How to Use OneDrive’s Files On-Demand in Windows 10’s Fall Creators Update
Geek Trivia: The Only M*A*S*H Cast Member To Appear In Every Single Episode Was?
Tuesday, 17 October 2017
Why Does ~ Represent the Home Folder on macOS and Linux?
How to Get Windows 10’s Fall Creators Update Now
How to Add Two-Factor Authentication to Steam
Zerocoin electric coin co. integrates zero-knowledge security on J.P. Morgan’s Quorum
How to Take Good Photos of the Starry Sky
Indian scientists, IITs play big role in gravitational wave observation
Twitter, Instagram promoting 'extreme thinness': Study
What’s New in Windows 10’s Fall Creators Update, Arriving Today
ATM malware has evolved to attack banks' corporate network
Aadhaar can be sole ID proof for voting
Researchers uncover flaw that makes Wi-Fi vulnerable to hacks
How to Call and Message Friends Using Your Amazon Echo
Geek Trivia: The Largest City Located Within The Arctic Circle Is?
Monday, 16 October 2017
How to Disable Notifications During Video Playback on an Xbox One
Your Wi-Fi Network Is Vulnerable: How to Protect Yourself Against KRACK
How to Download Games to Your PlayStation 4 From Your Phone or PC
How to Invert the Colors of Your iPhone’s Screen
Are voice & gesture controls for autonomous cars the next big thing?
The Amazon Prime-ification of Windows, and Everything Else, Is Coming
Geek Trivia: Numismatics Is The Study Of?
Jenkins World 2017 Session Videos are Available
|
This is a guest post by Alyssa Tong, who runs the Jenkins Area Meetup program and is also responsible for Marketing & Community Programs at CloudBees, Inc. |
Jenkins World 2017 keynotes and breakout session videos are now available HERE. Photos from the conference can be seen HERE.
Save the date for Jenkins World 2018:
-
Conference dates are September 16-19, 2018 in San Francisco.
-
Registration will open on October 16, 2017.
-
Call for Papers will open on December 1, 2017.
Sunday, 15 October 2017
RBI working on cryptocurrency policy
Netflix plans more local original content for India; five new shows in the pipeline
Aadhaar helped Modi government save $9 billion: Nandan Nilekani
How India Inc is losing its cybersecurity war
Viewing the future of construction in 3D
How India can make cryptocurrencies mainstream
Bitcoin rockets above $5,000 to all-time high
India's first fintech forum will help weather market storm
Amazon partners Microsoft to make deep learning accessible to developers
Facebook debuts a portable VR headset Oculus Go, cuts Rift pricing
Self-driving cars: Not ready yet, but new rules open a path
Akshaya Patra ties up with Cisco for digitized kitchens
US Justice, State Depts to share info on Visa abuse
OnePlus reportedly collects phone data without user consent
10,000 electric cars highlight steep path to India's ambitions
IoT-based tech helps keep watch on trees, sends alert
IMPS, debit cards drive digital payments to 75.6 million transactions in August
Flipkart's AI to help users find relevant reviews
The Best Ways to Scan a Document Using Your Phone or Tablet
Geek Trivia: Which Of These Cities, Due To How Many Hawaiians Visit It, Is Called The Ninth Island?
Saturday, 14 October 2017
What Are Planar Magnetic Headphones?
How to Scan Documents with the iPhone’s Notes App
Geek Trivia: Crayola’s Iconic 64-Crayon Box Was Introduced On Which Of These TV Shows?
Friday, 13 October 2017
Your Mac Is Tracking Your Location in High Sierra, Here’s Why (and How to Disable It)
How to Control Your Smarthome Products with Cortana on Windows 10
How to Convert a PDF File Into an Editable Text Document
How to Create Custom Ringtones for Your Android Phone
How to Take Polls With Your Instagram Story
Viewing the future of construction in 3D
How to Install Windows 95 in a Virtual Machine
How India can make cryptocurrencies mainstream
How to Safely Use a Table Saw, the Most Fearsome Power Tool of All
Geek Trivia: The Loudest Frog In The World Is The?
Thursday, 12 October 2017
How to Disable Notifications During Video Playback on a PlayStation 4
Amazon partners Microsoft to make deep learning accessible to developers
Facebook debuts a portable VR headset Oculus Go, cuts Rift pricing
The Beginner’s Guide to PlayerUnknown’s Battlegrounds (aka PUBG)
How to Enable a “Night Mode” in Android to Reduce Eyestrain
How to Control Both Ringer and System Volume with the iPhone’s Volume Buttons
How to Get the Most Out of Your Roku: Six Things You Should Do
Self-driving cars: Not ready yet, but new rules open a path
How to Password Protect Notes on the iPhone
Geek Trivia: The First Vehicular Combat Video Game Was?
Wednesday, 11 October 2017
How to Sync Your Kodi Library Across Multiple Devices with MySQL
Important security updates for Jenkins core and plugins
We just released security updates to Jenkins, versions 2.84 and 2.73.2, that fix several security vulnerabilities. Additionally, we published a new release of Swarm Plugin whose client contains a security fix, and Maven Plugin 3.0 was recently released to resolve a security issue. Users of Swarm Plugin and Maven Plugin should update these to their respective newest versions.
For an overview of what was fixed, see the security advisory. For an overview on the possible impact of these changes on upgrading Jenkins LTS, see our LTS upgrade guide.
We also published information about a vulnerability in Speaks! Plugin. There is no fix available and we recommend it be uninstalled. Its distribution has been suspended.
Subscribe to the jenkinsci-advisories mailing list to receive important notifications related to Jenkins security.
How to Get Free Money From Google By Answering Quick Surveys
What Is “Broadcast DVR Server” and Why Is It Running on My PC?
How to Make Phone Calls With Your Google Home
How to Disable Auto-Brightness on Your iPhone
How to Pick (and Customize) the Best Mechanical Keyboard For You
OnePlus reportedly collects phone data without user consent
How to Free Up Space Used By Your iPhone or iPad’s Messages App
Geek Trivia: The Screen-Independent Unit Used For Ensuring Exact Proportions Across Different Display Systems Is Called A?
Tuesday, 10 October 2017
Which Roku Should I Buy? Express vs. Stick vs. Stick+ vs. Ultra
APFS Explained: What You Need to Know Apple’s New File System
How to Automatically Open Articles in Safari’s Reader Mode
What Is Facebook’s New “Explore Feed”?
How to Theme Your Android Oreo Device with Substratum and Andromeda (No Root Required)
Geek Trivia: James Bond, The Iconic And Fictional British Spy, Was Named After A Real?
Bengaluru could be first Indian city to have electric buses for public transport
Monday, 9 October 2017
eMudhra launches R&D centre for Blockchain based solutions
Congress in touch with Cambridge Analytica who helped Trump win
'Not possible to extend concessions to Apple under GST regime'
For Musk, Google's 'Clips' camera doesn't 'seem' innocent
Intel India trains 9,500 people in AI
Hey iPhone Users, Apple Maps Is Good Now
How to Block Spammy Text Messages on an iPhone
Geek Trivia: The Modern Day Country With The Most Pyramids Is?
Startups like FlippAR use AR to help people get a glimpse of Bengaluru's history
Sunday, 8 October 2017
Why Snow, Rain, and Confetti Destroy Streaming Video Quality
Geek Trivia: The Largest Terrestrial Biome On Earth Is The?
Saturday, 7 October 2017
Canary’s Free Tier May Have Changed, But It Still Offers More Than Other Cams
RIP AIM, The Messaging App AOL Never Wanted
Geek Trivia: The Motherboards Inside Xbox One X Units Have A Hidden Mark Depicting?
Friday, 6 October 2017
How to Show Empty, Unformatted Drives in Disk Utility on macOS
Hacktoberfest. Contribute to Jenkins!
Once again it’s October in our calendars. It means that the regular Hacktoberfest event is back! During this one-month hackathon you can support open source and earn a limited edition T-shirt. Jenkins project offers an opportunity to participate in the project and to get reviews and help from Jenkins contributors.
How do I sign up?
-
Sign-up to Hacktoberfest on the event website.
-
Everything is set, just start coding!
What can I do?
There are lots of ways to contribute to Jenkins during Hacktoberfest. You can…
-
Write code
-
Improve documentation, write blogposts
-
Automate Tests
-
Translate and internationalize components
-
Design - artwork and UI improvements also count!
See the Contribute and Participate page for fore information.
Where can I contribute?
The project is located in several organizations in GitHub. Core and plugins are located in the jenkinsci org, infrastructure - in jenkins-infra. You can contribute to any component within these organizations.
For example, you could contribute to the following components:
-
Packaging ( Docker, native packages )
-
Plugins (existing plugins, plugin tutorial)
What can I do?
Our issue tracker contains lots of issues you could work on. If you are new to Jenkins, you could start by fixing some easier issues. In the issue tracker we mark such issues with the newbie-friendly label (search query). You can also submit your own issue and propose a fix.
How do I label issues and pull requests?
Hacktoberfest project requires issues and/or pull requests to be labeled with the hacktoberfest label. You may have no permissions to set labels on your own, but do not worry! Just mention @jenkinsci/hacktoberfest or @jenkins-infra/hacktoberfest in the repository, and we will set the labels for you.
How do I get reviews?
All examples above are being monitored by the Jenkins contributors, and you will likely get a review within few days. Reviews in other repositories and plugins may take longer. In the case of delays, ping @jenkinsci/code-reviewers in your pull request or send a message to the mailing list.
Where can I find info?
Jenkins project contains lots of materials about contributing to the project. Here are some entry links:
Need help?
You can reach out to us using IRC Channels and the Jenkins Developer Mailing List. In the case of mailing lists it is recommended to mention Hacktoberfest in the email subject.
What Is “COM Surrogate” (dllhost.exe) and Why Is It Running on My PC?
How to Easily Share Your Wi-Fi Password Using Your iPhone and iOS 11
How to Hide the Red Notification Badges for Apps on Your iPhone
How to Enable Emergency SOS Services on Your iPhone
Chrome Is Your OS Now, Even If You Use Windows
How to Hide Recent Apps from the iPad Dock
Geek Trivia: In Addition To Corn And Rice, The Most Important Carbohydrate Source For Tropical Nations Is?
Thursday, 5 October 2017
The Pixel 2 Isn’t Really Exclusive to Verizon: You Can Use It on AT&T, T-Mobile, and Sprint
How to Set Up BitLocker Encryption on Windows
How to Use the One-Handed Keyboard on Your iPhone
Facebook Messenger Lite Is a Great Alternative to Facebook Messenger
Bengaluru Metropolitan Transport Corporation yet to fix software glitches & train its staff on cashless card
Alphabet's DeepMind forms ethics unit for artificial intelligence
Wednesday, 4 October 2017
Is It Worth Upgrading to the Pixel 2?
Geek Trivia: When Faced With A Choice Where The Only Options Are The First Choice Or Nothing, It’s Called A?
What’s the Difference Between the Google Home, Mini, and Max?
How to Leave the macOS Public Beta Now That High Sierra Is Out
How to Join Netflix’s Test Program and Try Out New Features Early
The Cheapest Ways to Stream NHL Hockey (Without Cable)
How to Regain Control of a Hijacked Twitter Account
What Are NVIDIA MAX-Q Laptops?
How to Enable or Disable the Spell Checker on Android
How to Change Your Country on Amazon So You Can Buy Different Kindle Books
Challenges and the way forward in the journey of digitization
How to Type Out Voice Commands for Siri
Geek Trivia: Many Xbox 360 Owners, Desperate To Fix The “Red Ring Of Death” Failure, Resorted To Wrapping Them In?
Tuesday, 3 October 2017
How Safari’s New Intelligent Tracking Prevention Works
How to Upgrade Your Smarthome Connections in Google Home
Not All Ethernet Cables Are Equal: You Can Get Faster LAN Speeds By Upgrading
How to Disable GeForce Experience’s Reward Advertisements
How to Automatically Enable Wi-Fi When You’re Near a Trusted Network in Android Oreo
How to Stop Your iPhone Dinging Twice When You Get Text Messages
How to Run Android on Windows With AMIDuOS
How to Re-Caulk Areas in Your Bathroom or Kitchen
Geek Trivia: After Community Uproar, Mojang Changed The Food You Feed Minecraft Parrots From?
Monday, 2 October 2017
What Is the powerd Process, and Why Is It Running on My Mac?
Share a standard Pipeline across multiple projects with Shared Libraries
| This is a guest post by Philip Stroh, Software Architect at TimoCom. |
When building multiple microservices - e.g. with Spring Boot - the integration and delivery pipelines of your services will most likely be very similar. Surely, you don’t want to copy-and-paste Pipeline code from one Jenkinsfile to another if you develop a new service or if there are adaptions in your delivery process. Instead you would like to define something like a pipeline "template" that can be applied easily to all of your services.
The requirement for a common pipeline that can be used in multiple projects does not only emerge in microservice architectures. It’s valid for all areas where applications are built on a similar technology stack or deployed in a standardized way (e.g. pre-packages as containers).
In this blog post I’d like to outline the possibility to create such a pipeline "template" using Jenkins Shared Libraries. If you’re not yet familiar with Shared Libraries I’d recommend having a look at the documentation.
The following code shows a (simplified) integration and delivery Pipeline for a Spring Boot application in declarative syntax.
pipeline {
agent any
environment {
branch = 'master'
scmUrl = 'ssh://git@myScmServer.com/repos/myRepo.git'
serverPort = '8080'
developmentServer = 'dev-myproject.mycompany.com'
stagingServer = 'staging-myproject.mycompany.com'
productionServer = 'production-myproject.mycompany.com'
}
stages {
stage('checkout git') {
steps {
git branch: branch, credentialsId: 'GitCredentials', url: scmUrl
}
}
stage('build') {
steps {
sh 'mvn clean package -DskipTests=true'
}
}
stage ('test') {
steps {
parallel (
"unit tests": { sh 'mvn test' },
"integration tests": { sh 'mvn integration-test' }
)
}
}
stage('deploy development'){
steps {
deploy(developmentServer, serverPort)
}
}
stage('deploy staging'){
steps {
deploy(stagingServer, serverPort)
}
}
stage('deploy production'){
steps {
deploy(productionServer, serverPort)
}
}
}
post {
failure {
mail to: 'team@example.com', subject: 'Pipeline failed', body: "${env.BUILD_URL}"
}
}
}
This Pipeline builds the application, runs unit as well as integration tests and deploys the application to several environments. It uses a global variable "deploy" that is provided within a Shared Library. The deploy method copies the JAR-File to a remote server and starts the application. Through the handy REST endpoints of Spring Boot Actuator a previous version of the application is stopped beforehand. Afterwards the deployment is verified via the health status monitor of the application.
def call(def server, def port) {
httpRequest httpMode: 'POST', url: "http://${server}:${port}/shutdown", validResponseCodes: '200,408'
sshagent(['RemoteCredentials']) {
sh "scp target/*.jar root@${server}:/opt/jenkins-demo.jar"
sh "ssh root@${server} nohup java -Dserver.port=${port} -jar /opt/jenkins-demo.jar &"
}
retry (3) {
sleep 5
httpRequest url:"http://${server}:${port}/health", validResponseCodes: '200', validResponseContent: '"status":"UP"'
}
}
The common approach to reuse pipeline code is to put methods like "deploy" into a Shared Library. If we now start developing the next application of the same fashion we can use this method for deployments as well. But often there are even more similarities within projects of one company. E.g. applications are built, tested and deployed in the same way into the same environments (development, staging and production). In this case it is possible to define the whole Pipeline as a global variable within a Shared Library. The next code snippet defines a Pipeline "template" for all of our Spring Boot applications.
def call(Map pipelineParams) {
pipeline {
agent any
stages {
stage('checkout git') {
steps {
git branch: pipelineParams.branch, credentialsId: 'GitCredentials', url: pipelineParams.scmUrl
}
}
stage('build') {
steps {
sh 'mvn clean package -DskipTests=true'
}
}
stage ('test') {
steps {
parallel (
"unit tests": { sh 'mvn test' },
"integration tests": { sh 'mvn integration-test' }
)
}
}
stage('deploy developmentServer'){
steps {
deploy(pipelineParams.developmentServer, pipelineParams.serverPort)
}
}
stage('deploy staging'){
steps {
deploy(pipelineParams.stagingServer, pipelineParams.serverPort)
}
}
stage('deploy production'){
steps {
deploy(pipelineParams.productionServer, pipelineParams.serverPort)
}
}
}
post {
failure {
mail to: pipelineParams.email, subject: 'Pipeline failed', body: "${env.BUILD_URL}"
}
}
}
}
Now we can setup the Pipeline of one of our applications with the following method call:
myDeliveryPipeline(branch: 'master', scmUrl: 'ssh://git@myScmServer.com/repos/myRepo.git',
email: 'team@example.com', serverPort: '8080',
developmentServer: 'dev-myproject.mycompany.com',
stagingServer: 'staging-myproject.mycompany.com',
productionServer: 'production-myproject.mycompany.com')
The Shared library documentation mentions the ability to encapsulate similarities between several Pipelines with a global variable. It shows how we can enhance our template approach and build a higher-level DSL step: vars/myDeliveryPipeline.groovy
def call(body) {
// evaluate the body block, and collect configuration into the object
def pipelineParams= [:]
body.resolveStrategy = Closure.DELEGATE_FIRST
body.delegate = pipelineParams
body()
pipeline {
// our complete declarative pipeline can go in here
...
}
}
Now we can even use our own DSL-step to set up the integration and deployment Pipeline of our project:
myDeliveryPipeline {
branch = 'master'
scmUrl = 'ssh://git@myScmServer.com/repos/myRepo.git'
email = 'team@example.com'
serverPort = '8080'
developmentServer = 'dev-myproject.mycompany.com'
stagingServer = 'staging-myproject.mycompany.com'
productionServer = 'production-myproject.mycompany.com'
}
The blog post showed how a common Pipeline template can be developed using the Shared Library functionality in Jenkins. The approach allows to create a standard Pipeline that can be reused by applications that are built in a similar way.
It works for Declarative and Scripted Pipelines as well. For declarative pipelines the ability to define a Pipeline block in a Shared Library is official supported since version 1.2 (see the recent blog post on Declarative Pipeline 1.2).