how to use web hooks on Buildbot (gitlab integration) - gitlab

I am quite curious to know how do you actually use the buildbot when you have a repo on gitlab.
From what I understand, there is no way to upload the py files, which are triggered by the post-commit hook, so I am not exactly clear how do you tell gitlab to send the changes in the codebase to the buildbot, and how the buildbot knows about these changes sent.
We are planning to switch soon to gitlab, and I am looking ahead to avoid to get stuck when the real fun will begin.
Does anyone have any pointer about the integration and communication between Gitlab and Buildbot?
The info on the official documentation of Buildbot is not really clear; I have read about web hooks but I am not really getting how they work.

There is a Gitlab Hook
They've added a Gitlab Hook. You can use it the same way as the Github one.
The GitLab hook is as simple as GitHub one and it also takes no
options.
c['www'] = dict(...,
change_hook_dialects={ 'gitlab' : True }
)

The main issue is the incompatibility of the github module for Buildbot; once the Gitlab will make possible to have either Gitlab or Github hooks, it will work without problems.
http://feedback.gitlab.com/forums/176466-general/suggestions/3787958-web-hooks-data-posts-should-be-github-compatible
Hope that this will help people looking for info, so they avoid to bang their head on the wall in search of an answer :)

Related

How To Use Shopify CLI In GitLab CI/CD Integration

Good day everyone!
I'm very new to Shopify & GitLab platforms and I don't exactly know how to properly integrate the new Shopify CLI with the GitLab CI/CD pipeline.
My goal is when I push the changes from my local theme development to GitLab, the CI/CD pipeline runs and it'll automatically update the Shopify Theme online. Similar to Shopify GitHub integration.
From a number of days of searching, I've only been able to find a single solution to this:
https://medium.com/#gogl.alex/how-to-deploy-shopify-themes-automatically-1ac17ee1229c
and a community discussion about this:
https://community.shopify.com/c/technical-q-a/development-setup-with-gitlab/m-p/1243584
But the problem is this solution is still using the Shopify Theme Kit and not the new Shopify CLI.
I would like to ask if someone has already done this in the community and ask if they don't mind sharing the solution in this discussion.
Thank you for reading, any advice/s and/or solutions would be very helpful!

How do you separate jekyll site content and code into separate branches?

Hi I am using jekyll hosted on github oages and I would like to separate the content and code of my site into separate branches so:
It is more organised.
If I want to change some code in the site experimentally I can create A new branch based of the code branch and I don't have to worry about updating its contents when I create new blogs in my main code branch.
I have done some research someone mentioned using gem files to store the code but creating a jekyll theme and distributing it with ruby gem seems a daunting task since I don't even know the gem programming language.
Any thoughts? And thanks in advance.
What you want is a CI solution.
Github Action should be a good choice to you since you are using Github Pages.
To simplify the process, you could leverage jekyll-deploy-action.
It also makes the plugins those are not on the Github Safe List works on Github Pages.
To achieve this, just follow the usage doc.
Should have said this earlier but I found a solution to the problem you can actually set a them variable in you _config.yml so it pilots to a GitHub repo
To seperate the (markdown) content from the (template) code you should use/create a theme.

download the code of a particular tag of a git repo using Node

I want to download the source code of a private git repo hosted on github for only a particular tag. As far as I can tell there's an option of using git clone --depth=1. I suppose this is the answer on how to use tags with this.
Now I want to do it in a Node.js script. I checked the NodeGit package which uses libgit2. The problem is libgit2 doesn't support passing depth parameter.
So I am stuck with the last option of using child-process which I don't want to do, as it looks like a workaround. Is there any other way of achieving this?

how to connect gitlab with openProject

Hello I have a requirement is it posible to connect somehow gitlab with openproject?
I have seen this https://www.openproject.org/news/57-openproject-github-integration-plugin-released
but not sure if it will help somehow with gitlab
In the past, you could connect most git repositories to a project, so you could also connect those on GitLab. However, the git proper integration seems to be broken for some time now.
The GitHub integration plugin you mentioned will not work with GitLab though, as their web hook APIs will probably differ.
You probably should elaborate your question and put it on one of the OpenProject boards.

How to set up git and maven to work together?

I'm new to both of these tools, and I'm also very new to Linux system administration, so I apologize ahead of time for what may seem like a total n00b question.
Basically, I'm starting a whole new project from scratch. Yaaay! Exciting! However, I'm a little lost on how to set up the project. I've installed both git and maven on my dev machine and run through some tutorials. I've also set up git on my server, and have successfully pushed code to it and pulled code from it.
So, first question : Is it even a good idea to use git and maven together? Git seems like the best source control system, and Maven seems like the best build system. Are they known to work well together? Or am I needlessly creating trouble for myself at this early (and precarious) stage of the project? I've used ant enough to know that I don't want to use it, and I'm not really a fan of svn, although I'll use it if I have to.
Second question : Given that these two tools work well together, what's the Best Practices way of setting them up? I know that git is "peer-to-peer", although I suppose nothing is stopping you from setting up a single repository for the git user and having all the devs sync up with that repo when it's time to do a build. Is that the right way to go? How about Maven? Maven seems kinda single-user oriented. Like, everybody sets up Maven on their own machine and has their own Maven repo, right? Or wrong? Would it make sense to create a "Maven user" on my server, and have that user do all my builds from the "main" git repo?
Apologies if I'm totally mistaken on how to use these tools. As I said, I'm pretty new to these things. Any help you have is appreciated.
(also, I'm working on Linux, doing Java dev work in Eclipse, using Spring for the framework, mysql for the data store, and Hibernate as an ORM. Don't know of any of that matters)
Thanks!
Q1: Yes, git will work well with any build systems. Usually your VCS is well abstracted with any modern build system. Ensure that you set up your .gitignore file so that you are not tracking any artifacts from builds.
Q2: The best practice is to have an integration branch to build from. While developing, use topic or feature branches. When ready, merge into the integration branch and push that up to the central repository where maven can build from. Google git-flow for more ideas. You generally want a central build server if you are working on a team to ensure you are building on the same machine. This is not the case if you are working alone or maybe just one developer.
Hope this helps.

Resources