By a year without blogging, a year ago wrote a small team development management tool: Gitlab+redmine+testlink+jenkins, which was found to be problematic in this year's practice, including company-focused teams and individual distributed teams. For example: Because using Git as a code base management tool, the control of the code library's permissions is not very good (this is very different from SVN), which leads to the use of multiple version libraries for the same project, with the issue of multiple version library management, each time developers need to switch between different versions of the library, Repeat the same work of the author (pull, status, push, commit, etc); there is no better way to control the quality of the code, only by our developers consciously. Recently, the resources on project management tools have been collated and collected, and a set of management tools has been redesigned to address the problems currently encountered in the project. But no matter how perfect the tools are, we can only help us to do things more happily. I believe everyone in the project management will also encounter a variety of problems, have a variety of solutions, hope to be able to share out, let us experience a heritage (said big, don't spray too bad).
This article explains that this article does not want to introduce a lot about their installation and configuration processes, as these vary greatly from platform to installation and can be found on the web. However, a brief description of the partial installation and configuration or an address to locate the installation process is given.
First of all, I summarized the Project management Platform/tool needs to solve the problem, and I think these are also the theoretical support of this platform: Team Staff Management Team task assignment task to track code management code tasks traceable Code quality visual code Quality tracking Automation task management sustainable integration Facilitating developers to write documents helps developers improve code quality
Come on, let's start with our toolset.
Tools |
Responsibilities |
Description/Comment |
Git |
Code Management Client Tools |
This is nothing to say, there is an online tutorial on the Internet good "pro git" |
Repo |
A multi-code base management tool based on Git |
This tool is Google's git based multi-project management tool that can be combined with Gerrit. |
Gerrit |
Code library server Tools, code audit tools |
An online code review tool based on GIT that builds code audit platforms and processes around it |
Gitlab |
Code Presentation Platform |
Gitlab here only for our Code demo platform and the final release code base |
Jenkins |
Automated platforms, automated testing and deployment |
Jenkins Automated Testing/integration/release, building a sustainable integration platform around it |
Redmine |
Task management platform, defect tracking platform |
This is a lot of online introduction, there is nothing to say |
Sphinx |
Document authoring Tools |
This is written in Python, a tool for writing documents, a way to get the work done, which is very different from the way win is seen. Plugins: Plantuml, Graphviz. These two plug-ins will certainly let you write design documents and interface documents Handy, of course, must adapt to the time and process |
Sonar |
Code Quality Reporting Aggregation tool |
Build a code quality reporting aggregation platform around it |
Workflow for a tool set