Jenkins is an open source Continuous Integration and Continuous Delivery software application built to increase productivity by automating tasks through repeatable proccesses called jobs. Each job runs it's parameters and passes or fails based on the exit code of the completed build process. Successful builds can kick off additional Jenkins jobs to create seemless integration for application and web development workflows and deployment. The console output of each build can be viewed while the build is running or after it has completed to see the full log output. This is very useful in debugging issues with your jobs.
Jenkins jobs can be configured to start on a webhook notification from services like GitHub, Bitbucket, and Gitlab. Webhooks allow developers to automate tasks such as syncing git repositories automatically when code is pushed to a specific repository or branch within a repository. Parameterized builds offer an additional option to deploy git tags as a build that runs additional tests and commands after code has been reviewed and is ready for deployment.
Ways to Use Jenkins for Web Development
- Run cron jobs as Jenkins jobs with build status, console logs, and useful build failure notifications.
- Automatically sync code from one git repository to another when a new commit is pushed.
- Automatically pull code to a development or staging environment when a new commit is pushed.
- Automatically post notifications to Hipchat, Slack, and other services on successful or failed builds.
- Automatically email notifications to developers on successful or failed builds.
- Run tests after code has been deployed to dev, staging, or production environments.
- Run bash scripts or commands after code has been deployed dev, staging, or production environments.
- Run file and database backups at periodic intervals with status notifications.
- Run commands remotely on servers securely with SSH authentication.