Jenkins

Jenkins

DevOps / Build, Test, Deploy / Continuous Integration
CEO at Scrayos UG (haftungsbeschränkt)·

We use GitLab CI because of the great native integration as a part of the GitLab framework and the linting-capabilities it offers. The visualization of complex pipelines and the embedding within the project overview made Gitlab CI even more convenient. We use it for all projects, all deployments and as a part of GitLab Pages.

While we initially used the Shell-executor, we quickly switched to the Docker-executor and use it exclusively now.

We formerly used Jenkins but preferred to handle everything within GitLab . Aside from the unification of our infrastructure another motivation was the "configuration-in-file"-approach, that Gitlab CI offered, while Jenkins support of this concept was very limited and users had to resort to using the webinterface. Since the file is included within the repository, it is also version controlled, which was a huge plus for us.

READ MORE
20 upvotes·423.1K views

Objective: I am trying to build a custom service that will create VMs in Azure, based on inputs taken from a web interface. I want the backend code that interacts with Azure to be PowerShell.

Ask: Hoping to find help with deciding the simplest architecture of tools to achieve this.

What I have so far with my Limited Knowledge: I am new to Azure and Jenkins. I arrived at Jenkins coz it can run PowerShell and has API that can be called to trigger a job. Although integrating with it over the web seems problematic since its on-prem network. I hear it is possible using the VPN. For the Web, I hope to use Azure Web App with Python/Node.js that I can manage to make API calls to Jenkins.

Is there a better way? I just need help getting the right directions; I will walk the way.

READ MORE
6 upvotes·114.7K views
Replies (3)

If you want to use Azure Web Apps and want to keep it all in one ecosystem then easiest would be to use Azure Devops for the pipelines and Azure Functions to run the PowerShell code. Azure DevOps is a CI/CD platform(and more) kind of like Jenkins but integrated into Azure. And Azure Functions is a serverless thing that can run your code(your PowerShell) on demand without the need to have it hosted on your server. Jenkins can be nice but you will have to host it somewhere. If you want you could use Azure to set up a VM that hosts Jenkins and the website Frontend. Technically if you have the website, it's backend language should be able to execute scripts that are on the same machine so you wouldn't even need Jenkins or another pipeline solution. It would be recommended though for easier management.

READ MORE
4 upvotes·2 comments·11.8K views
Florin Labou
Florin Labou
·
January 20th 2021 at 3:30PM

I would have a look at "infrastructure as code" solutions like Hashicorp Terraform or Ansible from Redhat that support declarative and/or imperative approaches in the provisioning of cloud resources.

·
Reply
Maximilian Hütter
Maximilian Hütter
·
November 4th 2021 at 8:27PM

Going from your original requirement, that you want to build a web interface to provision new Azure VMs, your stack seems to be overly complicated. Why would you need to use Jenkins and Powershell at all? First Jenkins is a Continous Integration Server, you don‘t need it. Second Powershell is a Shell-Script, you can interact with Azure through Powershell but you don‘t need to. As others said, don‘t build your backend service in Powershell, if you can make it work, it will not be maintainable.

You mention you want to build the web interface itself on Python or Node.js, both are fine, just use the one that works best for you. Both allow to you to create a backend service that can make the API-calls to the Azure-API to create your VMs.

·
Reply
Software Engineer at Autodesk·

I'd recommend against using PowerShell as a backend, unless your logic is very simple (maybe less than 100 lines total). I've worked with a huge framework written in PowerShell, and we hit a lot of bugs. (Some of the issues traced back to bugs in the PowerShell runtime itself! Most of the team who owned the PowerShell framework admitted that if they could reimplement it they would pick a different language.) If you're already using Python, then I'd recommend using Python for other backend code -- or a more structured .NET language, like C#.

READ MORE
4 upvotes·1.9K views
View all (3)
Needs advice
on
AirflowAirflow
and
JenkinsJenkins

I am looking for an open-source scheduler tool with cross-functional application dependencies. Some of the tasks I am looking to schedule are as follows:

  1. Trigger Matillion ETL loads
  2. Trigger Attunity Replication tasks that have downstream ETL loads
  3. Trigger Golden gate Replication Tasks
  4. Shell scripts, wrappers, file watchers
  5. Event-driven schedules

I have used Airflow in the past, and I know we need to create DAGs for each pipeline. I am not familiar with Jenkins, but I know it works with configuration without much underlying code. I want to evaluate both and appreciate any advise

READ MORE
5 upvotes·293.8K views
Replies (2)
Recommends
Airflow

Hi Teja, Jenkins is more a CI/CD tool for triggering build/test and other CD tasks, from what you're describing you may be able to get along with #Jenkins and add lot's of plugins and create pipelines. But, eventually you're going to need to know #Groovy language to orchestrate all those tasks which is going to be similar to what you do with #Airflow, So, IMHO , Airflow is more for production scheduled tasks and Jenkins is more for CI/CD non-production tasks.

READ MORE
6 upvotes·11K views
Recommends
Airflow

For 1 - 3, Airflow is a better solution.

Cron and OSQuery may be better solutions for 4 and 5, depending on what you're actually trying to do.

In either case, Jenkins is more trouble than it's worth for these types of workloads.

READ MORE
2 upvotes·10.9K views
Needs advice
on
Azure PipelinesAzure Pipelines
and
JenkinsJenkins

We are currently using Azure Pipelines for continous integration. Our applications are developed witn .NET framework. But when we look at the online Jenkins is the most widely used tool for continous integration. Can you please give me the advice which one is best to use for my case Azure pipeline or jenkins.

READ MORE
7 upvotes·424.8K views
Replies (1)
Sr. Business Analyst_PMO at IT·

Hey!

We are planning to migrate web application with the same UI AngularJS to #AWS cloud with AWS Elastic Load Balancing (ELB), Jenkins, Docker stack, to check its performance for 200 users. Any suggestions for alternative technologies?

What is the infra required?

Thanks in advance.

READ MORE
2 upvotes·34.2K views
Needs advice
on
GitGit
and
JenkinsJenkins

Hi Genius folk, Please advice me on the following. We like for a Jenkins job to start to make use of a webhook on a Git commit. However, the Jenkins job creates a Virtual Machine (with a location), which the committer needs to know to make use of this newly created Virtual Machine. Without the location information, the committer does not know where this Virtual Machine resides.

My question: How is a committer best informed about the outcome of a process that is triggered by the commit?

READ MORE
8 upvotes·60.8K views
Replies (3)
Site Reliability Engineer ·
Recommends
Git

Git commit information can include the email of the commit author, so you could email them (assuming you already have a email server setup). If the commit author name matches their name on the company messaging tool you could use the messaging tool API to send them a message. If you're using a site like github you can use the github API to post a message on their PR.

READ MORE
8 upvotes·13.6K views
Recommends
Slack
in

If you are using Slack (and if you're not using slack I recommend using slack ) I highly recommend Slack Webhooks integration, every job can alert the specific commiter or a specific channel that updates about all the jobs, that's how my tea, handles updates on job, we get updated when a job starts and then again when it's finished / failed, it`s also very convenient to use a dedicated channel for so you can view the history of jobs very easily.

READ MORE
5 upvotes·11.8K views
View all (3)
Needs advice
on
GatlingGatling
and
LocustLocust

I am looking for a performance testing tool that I can use for testing the documents accessed by many users simultaneously. I also want to integrate Jenkins with the performance automation tool. I am not able to decide which shall I choose Gatling or Locust. But for me, Jenkins integration is important. I am looking for suggestions for this scenario.

READ MORE
6 upvotes·42.5K views

Hi, I need advice. In my project, we are using Bitbucket hosted on-prem, Jenkins, and Jira. Also, we have restrictions not to use any plugins for code review, code quality, code security, etc., with bitbucket. Now we want to migrate to AWS CodeCommit, which would mean that we can use, let's say, Amazon CodeGuru for code reviews and move to AWS CodeBuild and AWS CodePipeline for build automation in the future rather than using Jenkins.

Now I want advice on below.

  1. Is it a good idea to migrate from Bitbucket to AWS Codecommit?
  2. If we want to integrate Jira with AWS Codecommit, then how can we do this? If a developer makes any changes in Jira, then a build should be triggered automatically in AWS and create a Jira ticket if the build fails. So, how can we achieve this?
READ MORE
3 upvotes·260.8K views
Replies (1)
Design Lead | Senior Software Developer ·

Hi Kavita. It would be useful to explain in a bit more detail the integration to Jira you would like to achieve. Some of the Jira plugins will work with any git repository, regardless if its github/bitbucket/gitlab.

READ MORE
1 upvote·158.9K views