I think SonarQube suits your needs, We use it exactly the same way you want but with jenkins and for java-based code(supports multiple languages though, no need to worry).E.g. pushed a commit -> Jenkins builds and deploys -> updates SonarQube which gives online statistics. I imagine setting SonarQube with Travis wouldn't be too much trouble since
It appears the the defacto solution for now is Drone. It supports GOGS out of the box, and is acting very lightweight so far.
Side note - in the documentation, it indicates you'll need an API key from GOGS. You actually don't, it will run fine with this configuration:
The only "heavy" thing needed here is a Docker ...
If CI tools like Jenkins are overkill then you can carry on using make just add a target publish which does the following:
Check that there are no uncommitted files git status and stop if there are
git pull and update git pull
build your target file(s) - if this fails, (i.e. returns a non-zero result), then make should stop
Fingerprint the output file(s), e....
I would suggest taking a look at Jenkins CI formerly Hudson which has the following characteristics:
Free, Gratis & Open Sourced, MIT Licence
Java based so cross platform
If your builds/tests can be run from the server command line then they can run from Jenkins
Distributed builds available
Version control system integration for SVN, git, hg, etc.
The best bet is coverity.
Java, C/C++ or C# code
Runs on open source project for free
Integrates easily with GitHub and Travis
It is subject to a maximum number of builds per day/week, 3 per day and 12 per week. If less then 10k lines down to 2 per week for projects greater than 1M lines.
For code static analysis you can use SonarQube:
it supports coverage and complexity metrics
it takes external tools results (pylint, jslint, etc)
supports Js and Python, not sure about Perl
provides dashboards and timelines
There is a JIRA plugin (https://docs.sonarqube.org/display/PLUG/JIRA+Plugin), but it seems to be deprecated.
Also in the marketplace, ...
Some CI/CD tools that are compatible with GitHub:
An advantage circleci, Travis CI, and Azure Pipelines have over Jenkins are that you don't need to maintain your own build servers and hardware. These three CI/CD tools will just run your CI/CD pipelines on their own build servers, which makes things much easier.
I would recommend to take a look at open source GitLab and review the following articles:
CI/CD pipeline with Auto Deploy to Kubernetes using
Deploy Private GitLab Server within Jelastic
Hope it helps.
Zapier comes to mind. You may already be aware of it. Integrations across applications via configurable conditional paths.
Already integrates with Slack, Github, and Jenkins, but not Jetbrains yet as of this writing.
As far as project management, it really depends on what you're using it for. This article outlines many options, categorized into:
Unfortunately I can not speak for MS TFS nor IBM. But I have a strong experience with many Atlassian tools, as a user and as an administrator. With Jira, I have even written a few plugins (synchro tasks, custom gadgets, ui override etc.)
What I can tell: don't hesitate. It's worth the cost. It's great piece of software. It can be a bit hard to get the ...
I ended up going with Codeship, which meets all my requirements.
Integration with Bitbucket was very easy - a few clicks and everything was set up. Their free plan is currently limited to 1 concurrent build and 100 builds per month, but this is plenty for my projects.
The only somewhat painful part was setting up the actual build script, although I haven't ...
Google test grew out of the Cmockery C unit test project, which Google open sourced and abandoned, which now lives on as Cmocka.
I can highly recommend it from personal experience. However, I have only used it from Eclipse, not MSVC, so can’t guarantee anything.
AFAIK, MSVC will let you choose your toolchain, so you would only be using it for the GUI; ...
We started doing some tests with Google Test (which includes Google Mock) to get things going and see which problems will arise in practice. This is still a C++ testing framework, so the concerns from my question still apply, but it was easy to integrate so we just had to give it a try:
It's very easy to write a test (not much plumbing compared to some ...
For a service, rather than software, I would suggest taking a look at Circle-CI
Current pricing - 1 Linux container You can run 1 concurrent build with 1 container 1x parallelism 1500 build minutes/month Free Then each additional container $50/month with no build minutes limits.
Containers can run both build and tests
Pre-configured containers with the ...
One possible solution for you may be https://www.gitbook.com/.
It is a service for git controlled books written in markdown.
When the book has been published it can be downloaded as pdf/epub/mobi.
And for public books it's free!
If you need more, like a real CI software take a look at https://about.gitlab.com/gitlab-com/.
It's a free (git) ...
All the above said requirements are not applicable to CI tools instead it is applicable for the environment you use. Both TravisCI and Jenkins will able to integrate with github integration. The other things can be done through shell commands under pre/post build actions in the CI tools.
If Linux: http://linci.tp23.org/ might fit the bill, it is written pretty much in bash.
Server components are tsp and cron so that it limits running too many jobs at the same time. Designed to resolve the problem that Jenkins is too big to run on micro instances.
Service or software?
For software i've written something that is cross platform.
http://linci.tp23.org/ is written basically in bash. Its reuses existing Linux tools to cobble together a CI server.
ssh for remoting, tsp for task scheduling, cron for timers, bash and awk to define jobs and the CLI to execute them. ii(irc) , xtomp or mailx for notifications.
For languages compiled by GCC (i.e. C++, C, Ada, Fortran, Go, D, ....) you could consider using a specialized MELT extension. (you'll probably need to code some MELT, depending on the analysis you want to do).
For C, you might also consider Frama C or Clang