Skip to content

Commit

Permalink
doc: 部署文档国际化 #2161
Browse files Browse the repository at this point in the history
- 新增README
- 移除version
  • Loading branch information
zanyzhao committed Jul 28, 2020
1 parent cf5a781 commit f8828ac
Show file tree
Hide file tree
Showing 7 changed files with 231 additions and 109 deletions.
90 changes: 90 additions & 0 deletions CONTRIBUTING.en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Contributing to BK-CI

The BlueKing team upholds an open attitude and welcomes like-minded developers to contribute to the project. Before you start, please read the following instructions carefully.

## Code License

[MIT LICENSE](LICENSE.txt) is the open source license of BK-CI. Code contributed by anyone is protected by this license. Please make sure that you can accept the license before contributing your code.

## Design Document

Any functionality and feature should have its corresponding design document. Design documents need to be archived in the **docs/features** directory for the team to review and for subsequent developers to learn about the details of the features.

## Contribute Functionality and Feature

If you want to contribute functionalities and features to BK-CI project, please refer to the following steps:

* Contact the BlueKing team for relevant functional requirement.
* Once the team approves of the functionality, an issue is created to track the feature. The issue should at least contain the problem that the feature needs to address, use cases, relevant design, implementation details and problems that may arise.
* Submit detailed design document to the BlueKing team.
* The BlueKing team confirms requirement scheduling, the time to merge the functionality and the feature as well as the version.
* Complete coding, unit testing, use case testing and user documentation. Ensure consistent code style.
* Submit Pull Request/Merge Request which contains the documentation and the code.
* Functionality/Feature review. Merge after it passes.

> Note: To ensure code quality, for big functionalities and features, the BlueKing tends to submit multiple PRs/MRs progressively, so that relevant developers can review the details of the changes. It may take more time to review a one-off and large-scale commit.
## How to Get Started

If you want to contribute your code, it is recommended to refer to existing documentation about features and development environment setup.

## GIT Commit Specifications

Since different projects of different teams have different code commit comments, in order to standardize the commit message of different teams in the open source environment, different marks are used to differentiate committed changes.

```
git commit -m 'mark: comment of the commit issue #123'
```

For example:

```shell
git commit -m 'fix: the bug that the worker-agent.jar process has delayed exit on some third-party agents #29'
```

### Mark Description

| Mark | Description |
| -------- | -------------------------------------- |
| feature/feat | Develop a new feature |
| bug/fix/bugfix | Fix a bug |
| refactor/perf | Refactor the code/Optimize configurations & parameters/Optimize the logic and the functionality |
| test | Add unit testing cases |
| docs | Add documents |
| info | Add comment information |
| format | On the premise of not modifying business logic, only format the code |
| merge | Only merge and synchronize branches |
| depend | Add, delete or modify the dependencies of the project |
| chore | Relevant code like build scripts and tasks |
| del | Destructive actions like deleting functionalities and APIs that are still in use |

## Pull Request/Merge Request

If you are already dealing with an existing issue and have a reasonable solution, you are recommended to reply to the issue, so that the BlueKing team or other developers and users know that you are interested in the issue and have made positive progress, which prevents repetition and avoids waste of manpower. The BlueKing team upholds an open attitude and is willing to discussion solutions with you. We look forward to having you submit PR/MR.

Steps to Commit a Fix

* Fork the branch affected by the issue.
* Create your own branch for fixing.
* Fix the issue.
* Add new testing cases. If you try to fix a bug, make sure that the code cannot pass the testing cases when it is not fixed. The testing cases should cover as many scenarios as possible.
* Update the documentation (if necessary).
* Compile successfully and pass unit testing.
* Review. Merge after it passes.

For fixing issues, the BlueKing team hopes that one PR/MR can cover all the relevant content, including but not limited to the code, the documentation and the user guide.

Please refer to [BK-CI Review Process](./docs/specification/review.en.md) for relevant review process.

## Issues

The BlueKing team uses [issues](https://github.com/Tencent/bk-ci/issues) to track bugs, feature, etc.

When submitting a relevant bug, please search for existing or similar issues to ensure that there is no redundancy.

If you confirm that this is a new bug, please include the following information when submitting.

* Information about the operating system you use.
* Information about the current version you use, such as version, commitid.
* Log outputs of relevant modules when the problem occurs.
* Exact steps to reproduce the bug. For example, submitting relevant reproduction scripts/tools is more useful than long description.
4 changes: 0 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,6 @@ bk-ci提供了流水线、代码库、凭证管理、环境管理、研发商店
- [下载与编译](docs/overview/source_compile.md)
- [一分钟安装部署](docs/overview/installation.md)

## RoadMap
- [版本规划](docs/VERSION.md)
- [版本日志](version.md)

## Support
1. [wiki](https://github.com/Tencent/bk-ci/wiki)
2. [蓝鲸社区](https://bk.tencent.com/s-mart/community)
Expand Down
76 changes: 42 additions & 34 deletions README_EN.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,56 +6,64 @@
a free & open source CI server, bk-ci(BlueKing Continuous Integration) helps you automate your build-test-release workflows, continuous delivery of your product faster, easier, with fewer bugs.

TODO
使用bk-ci屏蔽掉所有研发流程中的繁琐环节,让你聚焦于编码。bk-ci通常被用于:
- 工程编译
- 静态代码检查
- 运行测试用例,及时发现BUG
- 部署与发布

TODO
bk-ci提供了流水线、代码库、凭证管理、环境管理、研发商店5大核心服务,多重组合,满足企业不同场景的需求:
- **Pipeline**:将团队现有的研发流程以可视化方式呈现出来,编译、测试、部署,一条流水线搞定
- **Code**:将企业内已有的代码托管服务关联至bk-ci
- **凭证管理**:为代码库、流水线等服务提供不同类型的凭据、证书管理功能
- **环境管理**:可以将企业内部的开发编译机托管至bk-ci
- **研发商店**:由流水线插件和流水线模板组成,插件用于对接企业内部的各种第三方服务,模板助力企业内部的研发流程规范化
bk-ci removes all the tedious tasks in R&D process and enables you to focus on coding. It is often used for:

- Project compilation
- Static code analysis
- Running test cases to find bugs in time
- Deployment and release

bk-ci provides five core services, namely Process, Repository, Ticket, Environment and Store. They can be combined in multiple ways to meet business needs in different scenarios.

- **Process**: It visualizes current R&D process of the team. One pipeline can handle compilation, testing and deployment.
- **Repository**: It links current source code hosting service of the enterprise to bk-ci.
- **Ticket**: It provides the management of various kinds of tickets and certificates for services like Repository and Process.
- **Environment**: It can host the internal agents of the enterprise on bk-ci.
- **Store**: It consists of pipeline plugins and pipeline templates. Plugins are used to integrate with various third-party services of the enterprise and templates help to standardize its internal R&D process.

## Overview
- [Architecture Design](docs/overview/architecture.md)
- [Code Directory](docs/overview/code_framework.md)
- [Design Philosophy](docs/overview/design.md)

- [Architecture](docs/overview/architecture.en.md)
- [Code Directory](docs/overview/code_framework.en.md)
- [Design](docs/overview/design.en.md)

## Features
- CI/CD: 由于框架的可扩展性,bk-ci既可以用作简单的CI场景,也可以成为企业内所有项目的持续交付中心
- Visualize: bk-ci提供了灵活的可视化编排流水线,动动指尖,将研发流程描述与此
- Scalable: 灵活的架构设计可以随意横向扩容,满足企业大规模使用
- Distributed: bk-ci可以便捷的管控多台构建机,助你更快的跨多平台构建、测试和部署
- Pipeline Plugins: bk-ci拥有完善的插件开发体系,其具备了低门槛、灵活可扩展等特性
- Pipeline Templated: 流水线模板将是企业内部推行研发规范的一大助力

- Continuous integration and continuous delivery: Due to the scalability of the framework, bk-ci can not only be used in simple CI scenarios, but also as the continuous delivery center of all the projects of the enterprise.
- What you see is what you get: bk-ci provides flexible and visualized pipelines for you to orchestrate. Move your fingers and you can describe the R&D process here.
- Parallel and scalable framework: The flexible framework can be scaled horizontally at will to meet the enterprise’s need for large-scale use.
- Distributed system: bk-ci can manage multiple agents easily to help you perform cross-platform build, testing and deployment in a faster manner.
- Pipeline plugins: bk-ci has a complete plugin development system with properties like low barrier to entry and scalability.
- Pipeline templates: It promotes the standardization of R&D within the enterprise.

## Experience

- [bk-ci in docker](https://hub.docker.com/r/blueking/bk-ci)

## Getting started
- [Download and Compile](docs/overview/source_compile.md)
- [Installation and Deployment](docs/overview/installation.md)

- [Download and Compile](docs/overview/source_compile.en.md)
- [Install and Deploy Within One Minute](docs/overview/installation.en.md)

## Support

1. [wiki](https://github.com/Tencent/bk-ci/wiki)
2. [BK forum](https://bk.tencent.com/s-mart/community)
2. [BlueKing Forum](https://bk.tencent.com/s-mart/community)
3. QQ Group: 744672165

## BlueKing Community
- [BK-BCS](https://github.com/Tencent/bk-bcs):a basic container service platform which provides orchestration and management for micro-service business.
- [BK-BCS-SaaS](https://github.com/Tencent/bk-bcs-saas):a SaaS provides users with highly scalable , flexible and easy-to-use container products and services.
- [BK-CMDB](https://github.com/Tencent/bk-cmdb):an enterprise level configuration management serivce database.
- [BK-PaaS](https://github.com/Tencent/bk-PaaS):an development platform that allows developers to create, develop, deploy and manage SaaS applications easily and quickly.
- [BK-SOPS](https://github.com/Tencent/bk-sops):an lightweight scheduling SaaS for task flow scheduling and execution through a visual graphical interface.

- [BK-BCS](https://github.com/Tencent/bk-bcs): BlueKing Container Service is an orchestration platform for microservices based on container technology.
- [BK-BCS-SaaS](https://github.com/Tencent/bk-bcs-saas): SaaS of BlueKing Container Service is based on two modes, the native Kubernetes mode and the Mesos self-developed mode. It provides highly scalable, flexible and easy-to-use container management service for users.
- [BK-CMDB](https://github.com/Tencent/bk-cmdb): BlueKing Configuration Management DataBase (BlueKing CMDB) is an enterprise level configuration management platform for assets and applications.
- [BK-PaaS](https://github.com/Tencent/bk-PaaS): BlueKing PaaS is an open development platform that allows developers to create, develop, deploy and manage SaaS applications quickly and easily.
- [BK-SOPS](https://github.com/Tencent/bk-sops): BlueKing Standard OPS (SOPS) is a light-weighted SaaS product in the Tencent BlueKing product system designed for the orchestration and execution of tasks through a graphical interface.

## Contributing
- If you have good ideas or suggestions, please let us know by Issues or Pull Requests and contribute to the Blue Whale Open Source Community. For bk-ci branch management, issues, and pr specifications, read the [Contributing Guide](CONTRIBUTING.md)
- If you are interested in contributing, check out the [CONTRIBUTING.md](https://opensource.tencent.com/contribution), also join our Tencent OpenSource Plan.

- Please read [Contributing](CONTRIBUTING.en.md) for the branch management, issue and pr specifications of bk-ci.
- [Tencent Open Source Incentive Program](https://opensource.tencent.com/contribution) encourages the participation and contribution of developers. We look forward to having you join it.

## License
BK-CI is based on the MIT protocol. Please refer to [LICENSE](LICENSE.txt) for details.
BK-CI is based on the MIT license. Please refer to [LICENCE](LICENSE.txt) for details.

53 changes: 0 additions & 53 deletions docs/VERSION.md

This file was deleted.

57 changes: 57 additions & 0 deletions docs/specification/commit-spec.en.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# Code Commit Specifications

## Code Review Suggestions

The BK-CI project involves a total of five languages, JavaScript, Golang, Kotlin, Java and Lua. By default, we development team use the following tools for code review. In order to improve the efficiency of merging, please review by yourself before committing.

- ESLint
- Gometalinter
- detekt

## Commit Format

Format of commit messages on the personal branch.

```
type:messsge issue
```

* type Information range
* feature New feature
* fix Bug fix
* docs Document modification
* style Code formatting, like missing semicolons; no changes in code
* refactor Code refactoring
* test Add missing tests, refactor tests; no changes in production code
* chore Relevant code like build scripts, tasks, etc.
* message Description of this commit
* issue id of the issue this commit is linked to

## Suggestions on Merge Request/Pull Request

Developers may have some simple commit messages on their own forked branches. It is recommended to refine commit messages using git rebase before submitting merge requests. Please refer to the previous section for refining information. Please refer to the following procedure for relevant commands.

```shell
#Use the new branch for feature development
git checkout feature1-pick
#Multiple debugging and commits
git commit -m "xxx"
git commit -m "yyy"
git commit -m "zzz"
#If new third-party dependencies are imported, use dep to manage dependencies
dep ensure -v -add github.com/org/project

#Rebase operation, merge multiple changes (3 times below) on the feature1-pick branch
# Complete standard commit information
git rebase -i HEAD~3

#Push to the remote repository
git push origin feature1-pick:feature1-pick
#Submit PR/MR and wait for merging
#......................
#......................

#After the PR/MR is merged, synchronize the local master branch
git fetch upstream
git rebase upstream/master
```
Loading

0 comments on commit f8828ac

Please sign in to comment.