How to configure Github to work with Concourse CI? - github

What is the best way to configure Github with concourse CI, concourse is up and running on a box.
How do I go from declaring a pipeline.yml in a git repo to it automatically propagating to concourse server.

Agree with Corby's suggestion.
If this is your first time using Concourse (sounds like it), then I suggest you start with a local concourse instance using Vagrant.
The Concourse documentation site has some good tutorials. Concourse-tutorial from Stark & Wayne were very helpful for me to learn concourse.
I have some basic Spring boot projects with Concourse pipelines. Give them a try.
https://github.com/akoranne/kill-java,
https://github.com/akoranne/rulesengine.
I would also advise that you join the concourse-ci slack channel. You will get lot of help.

Your question is broad enough that I might not address your complete issue in a StackOverflow answer, but I would direct you to the excellent "Flight School" tutorial, which gives step by step constructions on performing a Concourse build from a Git Repo:
https://concourse-ci.org/flight-school.html

Related

Is it possible GitLab do only delivery (or deploy) the source codes manually to remote server?

I started studying GitLab for my boss's order.
I found GitLab supports built-in CI/CD features.
But I don't want CI feature. Only to deliver code manually.
...and the concept of CI/CD is too difficult to me.
Of course I am going to search this topic continuously,
but also worried that it is impossible only to deliver code from GitLab Web repository to remote server.
Anyone who know this question?
Please help me.
Gitlab is one of the most flexible platforms to code versioning and CI/CD
almost everything is possible, but of course some things needs more expertise than other
In your case, delivering code manually will work without any problem.
But you need to understand more about git concepts
look at this article https://thepilcrow.net/explaining-basic-concepts-git-and-github/
forget the differences between github and gitlab now.... focus on understanding git (gitlab is just an inferface)
After that, when you start to study ci/cd you will discover the power of gitlab :D

GitLab and it's webhook for Build events

I've set up my own GitLab CE server with CI in it. I can already create a webhook to deploy my code to a server just by pushing it. (Many thanks to Matt Jones and his little invention).
However, I still have one issue there. I don't really find a very good description about GitlAbs new feature about Webhook for Build Events. I think I'll need this, since I wish to deploy my code ONLY AFTER a build was succesfull. If I set the webhook for push event, then it has no problem, inmediatly deploys the code. Can any of you provide me with a proper instruction, what do I have to make, to achieve my goal?
Thanks a lot in advance!
I use jenkins for these purposes, you can also set your preferences about when to deploy your code and run pre and post build steps. It's really useful and it has Gitlab integration with the Web hooks.

Good lightweighted Continous integration tool to use with github?

I am developing a small python web service with bunch of analytical codes and searching for a lightweighted, easy-use but all-around Continuous Integration tool to use together with github.
I push my code onto github and hope that by every pushing continuous integration can run tests and check the integreity
some recommended tools from github website https://github.com/integrations
like cloudBees, circleci etc.
Which kinds of CI tools is best for me at this moment ? thanks a lot
And would be kind if you could give some tips/good tutorials on coutinuous workflow(development and deployment) with github and docker
Like Jake said I would say that a cloud based tool like SnapCI, Circle or Travis would work well for you as you are already hosting your source in the cloud. If you are working on a public repo many of these tools are free.
In order to help with Docker and Github you'd need to be more specific about your needs.

Automatically mirroring a Gitlab repo onto Github on push

I'm looking for a way to automatically mirror my Gitlab repos to Github, on push. I use Gitlab repos as my main repos, and would rather have to push to only one remote. But, I want my code to be browsable on Github also.
I found similar questions on StackOverflow, such as this one.
But the answers are always the same: one should add a custom post-receive git hook to the gitlab repo. This requires a shell access to the server running Gitlab. As I'm hosting a community edition Gitlab for many users, and not only me, they can't have easy access to a shell (and this isn't the most user-friendly way to do this), so it does not fit my needs.
I thought about two ways to implement it:
Either a MirrorOnPush project service, implementing such a git hook in Ruby, as the EmailOnPush project service currently do.
Or use a custom server to clone and push the repo, using a webhook.
The first one seems to be the cleaner to me, but I can't find any doc about Gitlab project service and code structure… On the other hand, the second is a bad and ugly hack, but is almost straightforward.
I'd rather implement a project service to handle it. Do you have any doc or leads on how to write a project service for Gitlab (without having to read all the Gitlab source code, as there seems to be no dev doc…) ?
Thanks !
one should add a custom post-receive git hook to the gitlab repo.
Actually, that was the best solution, up until 7.x GitLab, as I detailed in "Gitlab repository mirroring";
A true project service for repo mirroring is requested, but not voted up enough: suggestion: suggestion 4614663.
The main documentations remains:
the app models project services folder,
the spec models project services folder,
the doc/project_services,
the project services scenarios.
This isn't much, as the OP noted before.
Since it That leaves you with the hack approach.

Continuous Integration workflow using Github, Travis CI, and Nodejitsu

I am trying to create the following workflow for continuous integration on my project
Developer commits code change to Github
Github sends entire codebase to Travis CI
Travis CI does the following
Runs tests
Builds distribution worthy package, saves in filesystem location local to Travis CI
Deploys distribution worthy package to Nodejitsu
Nodejitsu restarts server with the distribution worthy package
Is this possible? What are the steps? Via Github webhooks, I do have Travis CI running tests, and Nodejitsu deploying (untested and distribution worthy) Github codebase, but I do not have the workflow described above. Am I expecting something that is not possible?
Thank you!
This is possible, and how we deploy many of our systems internally.
For a quick getting started guide please try:
https://www.nodejitsu.com/getting-started-with-github
Detailed documentation can be found here:
https://www.nodejitsu.com/documentation/features/webhooks/
If you have any other questions, feel free to reach out to Nodejitsu support.