IMCAFS

Home

brief introduction of services used in open source software project pm 0.1 document

Posted by santillano at 2020-02-27
all

Generally, programmers will use various tools to do business software projects of the company. The tools here refer to such tools as version control and continuous integration of source code. But a large part of the world's software projects are actually open-source (no statistics, just conjectures), and open-source software projects, the programmers involved are generally scattered around the world, there is no centralized workplace, naturally there will not be a unified hosting site involving software configuration management and other tools.

So, is there a good solution? Naturally. If not, a group of programmers will make similar tools and services. For example, some of the services described below can fully meet the requirements of most open source projects (Python projects are more satisfied). These services are free of charge, of course, if you want better services, you have to take out some beautiful knives.

Of course, if you trust these services, many companies' business projects or start-ups can start with these services. As long as you pay a certain amount of dollars, you can save a lot of extra trouble.

Note: some service websites may need to turn over the wall.

Source hosting ¶

GitHub:https://github.com/

That's not bullshit. If you don't want to be a more complex issue tracking management like mantis, bugzilla, trac and redmine, you can also use it to do the issue tracking management of open source projects.

Continuous integration

Travis CI:https://travis-ci.org/

It is a good combination of GitHub. You can use GitHub account to sign in uniformly.

As long as you write the relevant configuration in the open source project, you will automatically perform the relevant process of continuous integration according to the configuration, such as unit test, so that every code submission can be tested. Of course, if you write unit test code.

For the content of unit test, see unit test

Code quality inspection

Landscape:https://landscape.io/

It is also a good combination of GitHub. You can use GitHub account to sign in uniformly.

As long as the relevant configuration is written in the open source project, the code quality will be checked automatically according to the configuration to see if there is any error in the code, if there is any "bad taste", and if there is any violation of the agreed style.

However, this service is only for Python as a programming language project. Other programming languages may have similar services (if not, a group of programmers may be doing it).

Test coverage check ¶

Coveralls:https://coveralls.io/

In the same way, it is well integrated with GitHub. You can use GitHub account to sign in uniformly.

As long as the relevant configuration is written in the open source project, the test coverage will be automatically obtained according to the configuration and the unit test results in continuous integration.

Finally,

How to use it? I won't introduce it here. There are enough documents on each service website. Besides, it's just a piece of hydrology, so there won't be much content.

Most of the above services provide badge services. For example, they can be directly put into readme of GitHub project, so that others can see whether your project has passed the continuous integration, whether the code quality is good enough, and whether the test coverage is high enough. For example, this is a simple open source project similar to Hacker News that I am writing: https://github.com/akun/pyhacker news

Add a link to the project document in readme, and your project will be equipped with a good document service (especially many projects of class library nature). For example, the software component practice series uses this document hosting service: http://pm.readthedocs.org/