├── source ├── admin │ ├── project │ │ └── function-setting.md │ ├── message │ │ ├── third-party │ │ │ ├── dingtalk.md │ │ │ ├── wecom-robot.md │ │ │ ├── wechat.md │ │ │ └── wecom.md │ │ ├── daily.md │ │ ├── in-site.md │ │ └── generic.md │ ├── pro.md │ ├── security-log.md │ ├── member │ │ ├── tctp.md │ │ ├── cloud.md │ │ ├── ldap.md │ │ └── feishu.md │ ├── service-integration │ │ ├── cloud.md │ │ ├── feishu.md │ │ └── tctp.md │ └── watermark.md ├── google228d28e078e377a9.html ├── repo │ ├── git │ │ ├── repository.md │ │ ├── branch.md │ │ └── go-get.md │ ├── browsing.md │ ├── security │ │ ├── access.md │ │ ├── push.md │ │ └── security.md │ ├── branch │ │ ├── default.md │ │ ├── hidden.md │ │ └── create.md │ ├── manage │ │ ├── restore.md │ │ ├── archive.md │ │ ├── delete.md │ │ ├── basic.md │ │ ├── card.md │ │ └── cli.md │ ├── best-practice │ │ ├── policy.md │ │ └── new.md │ ├── ssh │ │ ├── pull-push.md │ │ └── fingerprint.md │ ├── intro.md │ ├── mr-review │ │ └── mr-set.md │ ├── svn │ │ ├── create.md │ │ └── permission.md │ └── glossary.md ├── cs │ └── intro.md ├── offline.md ├── cd │ ├── static-pages.md │ ├── static-website.md │ ├── host-deploy │ │ ├── script.md │ │ ├── details.md │ │ ├── bastion-host.md │ │ ├── rollback.md │ │ ├── intro.md │ │ └── host-group.md │ ├── rbac.md │ ├── glossary.md │ ├── question │ │ ├── trigger-fail.md │ │ └── cloud-account.md │ ├── pipe │ │ └── env.md │ └── deploy-way │ │ └── manual.md ├── document │ ├── files │ │ ├── permission.md │ │ └── intro.md │ ├── knowledge │ │ └── permission.md │ ├── wiki │ │ └── intro.md │ └── api │ │ ├── apidoc.md │ │ └── import │ │ └── apidoc.md ├── qci │ ├── pipeline │ │ ├── auto-ban.md │ │ └── branch-monitor.md │ ├── cifile │ │ ├── specific-branch.md │ │ ├── stage-task │ │ │ ├── intro.md │ │ │ └── path-format.md │ │ └── path-format.md │ ├── result │ │ └── badge.md │ ├── compared.md │ └── intro.md ├── test-management │ ├── best-practice.md │ ├── overview.md │ ├── glossary.md │ ├── cases │ │ └── requirements.md │ └── plans │ │ └── manage.md ├── start │ ├── process.md │ ├── relation.md │ ├── more.md │ └── wiki.md ├── workload │ ├── intro.md │ └── permission.md ├── ci │ ├── plugins │ │ └── error-skip.md │ ├── faq │ │ ├── generic.md │ │ └── artifacts.md │ ├── process │ │ └── text.md │ ├── node │ │ ├── type.md │ │ ├── pool.md │ │ └── worker.md │ ├── glossary.md │ ├── practice │ │ └── testing │ │ │ └── intro.md │ ├── artifacts │ │ ├── outside.md │ │ └── generic.md │ └── manage │ │ └── group.md ├── compass │ ├── glossary.md │ └── workflow │ │ └── intro.md ├── collaboration │ ├── customize │ │ ├── meeting.md │ │ ├── version-control.md │ │ └── label.md │ ├── pattern │ │ ├── scrum │ │ │ └── review.md │ │ └── classic │ │ │ └── blocking.md │ └── faq.md ├── code-scan │ ├── glossary.md │ ├── intro.md │ └── plan │ │ └── auto-match.md ├── dashboard │ └── best-practice.md ├── orbit │ ├── permission.md │ └── detail │ │ └── basic.md ├── member │ ├── personal-account │ │ └── settings.md │ └── introduce.md ├── artifacts │ ├── cleanup-strategy.md │ ├── glossary.md │ ├── quick-start │ │ └── basic.md │ ├── properties.md │ └── scan │ │ └── intro.md ├── project-settings │ ├── switch.md │ ├── members.md │ └── service-hook │ │ └── wecom-robot.md ├── okr │ ├── best-practices.md │ └── glossary.md └── common │ ├── project-statistics.md │ └── code-sec.md ├── CODEOWNERS ├── themes └── coding-help │ ├── _config.yml │ ├── source │ ├── styles │ │ ├── help.scss │ │ ├── modules │ │ │ ├── normalize.scss │ │ │ ├── best-practice │ │ │ │ └── make-normal.scss │ │ │ └── make-normal.scss │ │ └── highlight │ │ │ └── styles │ │ │ ├── pojoaque.jpg │ │ │ ├── school-book.png │ │ │ ├── brown-papersq.png │ │ │ ├── darkula.css │ │ │ ├── ascetic.css │ │ │ ├── mono-blue.css │ │ │ ├── dark.css │ │ │ ├── androidstudio.css │ │ │ ├── codepen-embed.css │ │ │ ├── brown-paper.css │ │ │ ├── vs.css │ │ │ ├── far.css │ │ │ ├── arta.css │ │ │ ├── ir-black.css │ │ │ ├── magula.css │ │ │ ├── color-brewer.css │ │ │ ├── monokai.css │ │ │ ├── darcula.css │ │ │ ├── gml.css │ │ │ ├── school-book.css │ │ │ ├── tomorrow.css │ │ │ ├── zenburn.css │ │ │ ├── ocean.css │ │ │ ├── paraiso-dark.css │ │ │ ├── paraiso-light.css │ │ │ ├── dracula.css │ │ │ ├── qtcreator_dark.css │ │ │ ├── qtcreator_light.css │ │ │ ├── rainbow.css │ │ │ ├── github-gist.css │ │ │ ├── kimbie.dark.css │ │ │ ├── kimbie.light.css │ │ │ ├── atelier-dune-dark.css │ │ │ ├── atelier-dune-light.css │ │ │ ├── monokai-sublime.css │ │ │ ├── atelier-heath-dark.css │ │ │ ├── atelier-heath-light.css │ │ │ ├── tomorrow-night-bright.css │ │ │ ├── atelier-forest-dark.css │ │ │ ├── atelier-forest-light.css │ │ │ ├── atelier-seaside-dark.css │ │ │ ├── hopscotch.css │ │ │ ├── tomorrow-night-eighties.css │ │ │ └── atelier-seaside-light.css │ └── images │ │ ├── best-practice │ │ ├── cicd1.jpg │ │ ├── cicd2.jpg │ │ ├── cicd3.jpg │ │ ├── git1.jpg │ │ ├── git2.jpg │ │ ├── git3.jpg │ │ ├── team1.jpg │ │ ├── team2.jpg │ │ ├── team3.jpg │ │ ├── devops1.jpg │ │ ├── devops2.jpg │ │ ├── devops3.jpg │ │ └── best-practice-bg.jpg │ │ ├── book-icons │ │ ├── metric.svg │ │ ├── dashboard.svg │ │ ├── pro.svg │ │ ├── best.svg │ │ └── open-api.svg │ │ └── icons │ │ ├── back.svg │ │ ├── check.svg │ │ ├── arrow-down-blue.svg │ │ ├── disliked-blue.svg │ │ ├── prev.svg │ │ ├── select-arrow-blue.svg │ │ ├── select-arrow.svg │ │ ├── arrow-down.svg │ │ ├── next.svg │ │ ├── nav-close.svg │ │ ├── menu-list.svg │ │ ├── liked.svg │ │ ├── menu-search.svg │ │ └── menu-search-blue.svg │ └── layout │ ├── index.pug │ └── partials │ ├── base.pug │ ├── algoliasearch-init.js │ └── head.pug ├── scaffolds ├── draft.md ├── page.md └── post.md ├── .gitignore ├── .fnlint.json ├── .lintmdrc ├── .git-pre-commit └── .github └── workflows └── ci.yml /source/admin/project/function-setting.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | source/* lanjiansheng@coding.net 2 | -------------------------------------------------------------------------------- /themes/coding-help/_config.yml: -------------------------------------------------------------------------------- 1 | stylesheets: 2 | - 'styles/help' -------------------------------------------------------------------------------- /scaffolds/draft.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: {{ title }} 3 | tags: 4 | --- 5 | -------------------------------------------------------------------------------- /scaffolds/page.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: {{ title }} 3 | date: {{ date }} 4 | --- 5 | -------------------------------------------------------------------------------- /scaffolds/post.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: {{ title }} 3 | date: {{ date }} 4 | tags: 5 | --- 6 | -------------------------------------------------------------------------------- /source/google228d28e078e377a9.html: -------------------------------------------------------------------------------- 1 | google-site-verification: google228d28e078e377a9.html -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | .DS_Store 3 | db.json 4 | public 5 | .idea 6 | *.log 7 | source/best-practices/overview.html 8 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/help.scss: -------------------------------------------------------------------------------- 1 | @import 'modules/normalize'; 2 | @import 'modules/header'; 3 | @import 'modules/page'; -------------------------------------------------------------------------------- /themes/coding-help/source/styles/modules/normalize.scss: -------------------------------------------------------------------------------- 1 | @import './make-normal.scss'; 2 | @include makeClearing('body'); 3 | -------------------------------------------------------------------------------- /.fnlint.json: -------------------------------------------------------------------------------- 1 | { 2 | "basePath": ".", 3 | "files": "source/**/*.md", 4 | "format": "kebabcase", 5 | "directories": true 6 | } 7 | -------------------------------------------------------------------------------- /source/repo/git/repository.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Git 仓库管理 - CODING 帮助中心 3 | pageTitle: Git 仓库管理 4 | --- 5 | 6 | 文档已迁移至 [添加远程仓库](/docs/repo/repository.html#web)。 7 | -------------------------------------------------------------------------------- /source/cs/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 产品简介 - CODING 帮助中心 3 | pageTitle: 产品简介 4 | --- 5 | 6 | 文档现已迁移至[此处](https://cloudstudio.net/docs)。 7 | 8 | ==== 2021/08/23 ==== 9 | -------------------------------------------------------------------------------- /themes/coding-help/source/images/best-practice/cicd1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding/coding-docs/master/themes/coding-help/source/images/best-practice/cicd1.jpg -------------------------------------------------------------------------------- /themes/coding-help/source/images/best-practice/cicd2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding/coding-docs/master/themes/coding-help/source/images/best-practice/cicd2.jpg -------------------------------------------------------------------------------- /themes/coding-help/source/images/best-practice/cicd3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding/coding-docs/master/themes/coding-help/source/images/best-practice/cicd3.jpg -------------------------------------------------------------------------------- /themes/coding-help/source/images/best-practice/git1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding/coding-docs/master/themes/coding-help/source/images/best-practice/git1.jpg -------------------------------------------------------------------------------- /themes/coding-help/source/images/best-practice/git2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding/coding-docs/master/themes/coding-help/source/images/best-practice/git2.jpg -------------------------------------------------------------------------------- /themes/coding-help/source/images/best-practice/git3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding/coding-docs/master/themes/coding-help/source/images/best-practice/git3.jpg -------------------------------------------------------------------------------- /themes/coding-help/source/images/best-practice/team1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding/coding-docs/master/themes/coding-help/source/images/best-practice/team1.jpg -------------------------------------------------------------------------------- /themes/coding-help/source/images/best-practice/team2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding/coding-docs/master/themes/coding-help/source/images/best-practice/team2.jpg -------------------------------------------------------------------------------- /themes/coding-help/source/images/best-practice/team3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding/coding-docs/master/themes/coding-help/source/images/best-practice/team3.jpg -------------------------------------------------------------------------------- /themes/coding-help/source/images/best-practice/devops1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding/coding-docs/master/themes/coding-help/source/images/best-practice/devops1.jpg -------------------------------------------------------------------------------- /themes/coding-help/source/images/best-practice/devops2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding/coding-docs/master/themes/coding-help/source/images/best-practice/devops2.jpg -------------------------------------------------------------------------------- /themes/coding-help/source/images/best-practice/devops3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding/coding-docs/master/themes/coding-help/source/images/best-practice/devops3.jpg -------------------------------------------------------------------------------- /.lintmdrc: -------------------------------------------------------------------------------- 1 | { 2 | "excludeFiles": [], 3 | "rules": { 4 | "no-long-code": [1, { 5 | "length": 100, 6 | "exclude": ["dot"] 7 | }] 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/pojoaque.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding/coding-docs/master/themes/coding-help/source/styles/highlight/styles/pojoaque.jpg -------------------------------------------------------------------------------- /themes/coding-help/layout/index.pug: -------------------------------------------------------------------------------- 1 | extends partials/base 2 | 3 | block main 4 | .helpContainer 5 | .helpContentWrapper 6 | block left 7 | div home -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/school-book.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding/coding-docs/master/themes/coding-help/source/styles/highlight/styles/school-book.png -------------------------------------------------------------------------------- /themes/coding-help/source/images/best-practice/best-practice-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding/coding-docs/master/themes/coding-help/source/images/best-practice/best-practice-bg.jpg -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/brown-papersq.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/coding/coding-docs/master/themes/coding-help/source/styles/highlight/styles/brown-papersq.png -------------------------------------------------------------------------------- /.git-pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | git diff --diff-filter=d --name-only HEAD | grep ".md$" | xargs npx remark -f 4 | git diff --diff-filter=d --name-only HEAD | grep ".md$" | xargs npx lint-md 5 | npx fnlint -c .fnlint.json 6 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/darkula.css: -------------------------------------------------------------------------------- 1 | /* 2 | Deprecated due to a typo in the name and left here for compatibility purpose only. 3 | Please use darcula.css instead. 4 | */ 5 | 6 | @import url('darcula.css'); 7 | -------------------------------------------------------------------------------- /source/offline.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 文档已下线 - CODING 帮助中心 3 | pageTitle: 文档已下线 4 | alias: 5 | - practice/ci.html 6 | - practice/devops.html 7 | --- 8 | 9 | 本文档已下线,请[点击查阅](https://help.coding.net/)最新内容。 10 | 11 | ==== 2020/10/28 ==== 12 | -------------------------------------------------------------------------------- /source/cd/static-pages.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 静态网站服务 - CODING 帮助中心 3 | pageTitle: 静态网站服务 4 | pagePrevTitle: 常见问题 5 | pagePrev: cd/question/convert-certfile-to-certdata.html 6 | sitemap: false 7 | --- 8 | 9 | 此服务已下线,详情请阅读[管理指引](/docs/pages/operating.html)。 10 | 11 | ==== 2020/08/13 ==== 12 | -------------------------------------------------------------------------------- /source/cd/static-website.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 静态网站服务 - CODING 帮助中心 3 | pageTitle: 静态网站服务 4 | pagePrevTitle: 常见问题 5 | pagePrev: cd/question/convert-certfile-to-certdata.html 6 | sitemap: false 7 | --- 8 | 9 | 此服务已下线,详情请阅读[管理指引](/docs/pages/operating.html)。 10 | 11 | ==== 2020/08/13 ==== 12 | -------------------------------------------------------------------------------- /source/repo/browsing.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 代码浏览 - CODING 帮助中心 3 | pageTitle: 代码浏览 4 | pagePrevTitle: 仓库管理 5 | pagePrev: repo/manage.html 6 | pageNextTitle: 分支管理 7 | pageNext: repo/branch.html 8 | --- 9 | 10 | 文档已迁移至[《使用远程仓库——Web 端代码浏览》](/docs/repo/repository.html#web) 11 | 12 | ==== 2020/08/13 ==== 13 | -------------------------------------------------------------------------------- /source/repo/git/branch.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Git 分支管理 - CODING 帮助中心 3 | pageTitle: Git 分支管理 4 | pagePrevTitle: Git 快速入门 5 | pagePrev: repo/git/start.html 6 | pageNextTitle: Git 仓库管理 7 | pageNext: repo/git/repository.html 8 | --- 9 | 10 | 文档已迁移至[此处](/docs/repo/branch/settings.html) 11 | 12 | 13 | ==== 2020/08/13 ==== 14 | -------------------------------------------------------------------------------- /source/admin/message/third-party/dingtalk.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 钉钉机器人 - CODING 帮助中心 3 | pageTitle: 钉钉机器人 4 | pagePrevTitle: 企业微信群机器人 5 | pagePrev: admin/message/third-party/wecom-robot.html 6 | --- 7 | 8 | 9 | 将钉钉群聊机器人与 CODING 中的项目关联,能够实现在钉钉群聊中推送相关的事项变更、任务指派与代码评审提醒等通知。参考[使用 Service Hook 绑定钉钉群机器人](/docs/project-settings/service-hook/dingtalk-robot.html)。 10 | 11 | 12 | ==== 2021/08/02 ==== 13 | -------------------------------------------------------------------------------- /source/admin/message/third-party/wecom-robot.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 企业微信群机器人 - CODING 帮助中心 3 | pageTitle: 企业微信群机器人 4 | pagePrevTitle: 企业微信 5 | pagePrev: admin/message/third-party/wecom.html 6 | pageNextTitle: 钉钉机器人 7 | pageNext: admin/message/third-party/dingtalk.html 8 | --- 9 | 10 | 将企业微信群聊机器人与 CODING 中的项目关联,能够实现在企业微信群聊中推送相关的事项变更、任务指派与代码评审提醒等通知。参考[使用 Service Hook 绑定企业微信群机器人](/docs/project-settings/service-hook/wecom-robot.html)。 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /source/repo/security/access.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 设置仓库访问方式 - CODING 帮助中心 3 | pageTitle: 设置仓库访问方式 4 | pagePrevTitle: 检查仓库安全风险 5 | pagePrev: repo/security/security.html 6 | pageNextTitle: 使用 GPG 签名 commit 记录 7 | pageNext: repo/security/gpg-sign.html 8 | alias: repo/config.access.html 9 | --- 10 | 11 | 项目管理员可以在代码仓库的「设置」->「访问设置」页面选择是否开源代码仓库,还可以设置是否允许 HTTPS 或 SSH 协议访问代码仓库。 12 | 13 | ![](https://help-assets.codehub.cn/enterprise/20210813143201.png) 14 | 15 | ==== 2021/10/20==== 16 | -------------------------------------------------------------------------------- /source/admin/message/daily.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 每日邮件提醒 - CODING 帮助中心 3 | pageTitle: 每日邮件提醒 4 | pagePrevTitle: 站内通知 5 | pagePrev: admin/message/in-site.html 6 | pageNextTitle: 第三方服务通知——微信 7 | pageNext: admin/message/third-party/wechat.html 8 | --- 9 | 10 | 你还可以通过开启每日工作邮件提醒,以及时接收项目内的变更信息。因此功能普通成员可以自行开启,点击阅读[每日工作邮件提醒](/docs/project-settings/basic.html#email-reminder)了解开启该功能。 11 | 12 | ![](https://help-assets.codehub.cn/enterprise/20200417154352.png) 13 | 14 | ==== 2021/08/05 ==== 15 | -------------------------------------------------------------------------------- /source/document/files/permission.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 权限配置 - CODING 帮助中心 3 | pageTitle: 权限配置 4 | pagePrevTitle: 快速开始 5 | pagePrev: document/files/start.html 6 | pageNextTitle: API 文档快速开始 7 | pageNext: document/api/start.html 8 | alias: management/files.html 9 | --- 10 | 11 | 文件网盘的权限为项目级权限,由项目管理员前往【项目设置】->【项目与成员】->【用户组】中进行开启。位于此用户组的项目成员将具备相应的访问与使用权限。 12 | 13 | ![](https://help-assets.codehub.cn/enterprise/%E6%96%87%E4%BB%B6%E7%BD%91%E7%9B%98%202.png) 14 | 15 | ==== 2021/11/11 ==== 16 | -------------------------------------------------------------------------------- /source/cd/host-deploy/script.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 运行脚本阶段 - CODING 帮助中心 3 | pageTitle: 运行脚本阶段 4 | pagePrevTitle: 部署阶段配置 5 | pagePrev: cd/host-deploy/stage.html 6 | pageNextTitle: 查看部署详情 7 | pageNext: cd/host-deploy/details.html 8 | --- 9 | 10 | ### 功能介绍 11 | 12 | 脚本包含 2 个配置项。 13 | 14 | ![](https://help-assets.codehub.cn/enterprise/20201224170055.png) 15 | 16 | ### 基础设置 17 | 18 | 在基础设置部分选择部署的目标主机组。 19 | 20 | ### 脚本配置 21 | 22 | 脚本会在主机组的所有实例上运行,脚本来源支持 制品 和 自定义输入内容。 23 | 24 | ==== 2020/12/24 ==== 25 | -------------------------------------------------------------------------------- /source/qci/pipeline/auto-ban.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 自动禁用 - CODING 帮助中心 3 | pageTitle: 自动禁用 4 | pagePrevTitle: 持续集成简介 5 | pagePrev: qci/intro/ci.html 6 | pageNextTitle: 快速开始 7 | pageNext: ci/start.html 8 | sitemap: false 9 | --- 10 | 11 | ### 功能介绍 12 | 13 | 当创建的持续集成任务越来越多,并且在大多数任务失效的情况下,手工禁用或删除任务是个耗时且枯燥的工作。点击前往「任务设置」→「基础信息」中开启「自动禁用规则」功能,就可以自动禁用符合规则的流水线。 14 | 15 | ![](https://help-assets.codehub.cn/enterprise/20211021173745.png) 16 | 17 | 开启后,当流水线超过 N 天无构建记录时,将自动禁用该流水线。 18 | 19 | ==== 2021/10/21 ==== 20 | -------------------------------------------------------------------------------- /source/test-management/best-practice.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 最佳实践 - CODING 帮助中心 3 | pageTitle: 最佳实践 4 | pagePrevTitle: 测试活动概览 5 | pagePrev: test-management/overview.html 6 | pageNextTitle: 词汇表 7 | pageNext: test-management/glossary.html 8 | --- 9 | 10 | 本文给出了关于测试管理的最佳实践索引,并会持续更新。 11 | 12 | - [CODING 如何助力实践迭代内的持续测试](/insight/posts/4c1ae3e2/) 13 | - [持续测试 - DevOps 时代的高效测试之钥](/insight/posts/1952cd3c/) 14 | - [CODING 自动化执行能力让测试更快、更自由](/insight/posts/3a5b743d/) 15 | 16 | 17 | ==== 2021/05/19 ==== 18 | -------------------------------------------------------------------------------- /source/start/process.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 使用流程 - CODING 帮助中心 3 | pageTitle: 使用流程 4 | pagePrevTitle: 产品简介 5 | pagePrev: start/new.html 6 | pageNextTitle: 团队、项目与项目集的关系 7 | pageNext: start/relation.html 8 | --- 9 | 10 | 以下流程图展示了 CODING DevOps 软件开发平台的基本操作流程。 11 | 12 | 1. 如要开始使用 CODING DevOps,您需要先创建或加入一个团队。 13 | 2. 加入团队之后,您可以在团队内创建项目或受邀加入别的项目。 14 | 15 | 3. 项目成员通过**项目协同**、**代码仓库**、**持续集成**、**持续部署**等功能实现项目协作。 16 | 17 | ![](https://help-assets.codehub.cn/enterprise/20210806094736.png) 18 | 19 | ==== 2021/08/21 ==== 20 | -------------------------------------------------------------------------------- /source/repo/branch/default.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 设置默认分支 - CODING 帮助中心 3 | pageTitle: 设置默认分支 4 | pagePrevTitle: 创建分支 5 | pagePrev: repo/branch/create.html 6 | pageNextTitle: 设置保护分支 7 | pageNext: repo/branch/protected.html 8 | --- 9 | 10 | 默认分支被视为仓库中的基本分支,除非你指定其他分支,否则将基于默认分支自动生成所有拉取请求和代码提交。默认分支可在代码仓库的「设置」->「分支设置」页面中可修改。 11 | 12 | ![](https://help-assets.codehub.cn/enterprise/20211104172837.png) 13 | 14 | 当用户所在的用户组具备「保护分支」权限时,将具备调整默认分支的权限。 15 | 16 | ![](https://help-assets.codehub.cn/enterprise/20211115113437.png) 17 | 18 | ==== 2021/11/04 ==== 19 | -------------------------------------------------------------------------------- /source/repo/manage/restore.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 恢复已删除仓库 - CODING 帮助中心 3 | pageTitle: 恢复已删除仓库 4 | pagePrevTitle: 删除/重置仓库 5 | pagePrev: repo/manage/delete.html 6 | pageNextTitle: 管理代码仓库卡片 7 | pageNext: repo/manage/card.html 8 | --- 9 | 10 | 11 | 对于已删除的代码仓库,项目管理员可在 30 天内进入回收站恢复。 12 | 13 | 1. 在「代码仓库」页面,将鼠标悬浮在右上角的更多操作按钮,将出现回收站图标。 14 | 15 | ![](https://help-assets.codehub.cn/enterprise/20211028150107.png) 16 | 17 | 2. 进入回收站后,选择要恢复的代码仓库,点击「恢复」即可恢复该仓库。 18 | 19 | ![](https://help-assets.codehub.cn/enterprise/20211028150423.png) 20 | 21 | 22 | ==== 2021/10/28 ==== 23 | -------------------------------------------------------------------------------- /source/document/knowledge/permission.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 访问权限 - CODING 帮助中心 3 | pageTitle: 访问权限 4 | pagePrevTitle: 管理知识空间 5 | pagePrev: document/knowledge/manage.html 6 | pageNextTitle: 使用 Wiki 7 | pageNext: document/wiki.html 8 | --- 9 | 10 | 创建知识空间时可以选择访问权限的范围。其中,勾选自定义成员时需指定**维护者**与**只读成员**。维护者可在空间内进行页面创建、编辑、删除、分享操作;只读成员范围可以选择团队全部成员、全部项目成员、具体成员与部门成员。 11 | 12 | ![](https://help-assets.codehub.cn/enterprise/20211009164142.png) 13 | 14 | 你还可以在目录栏中的成员管理处进行权限调整。 15 | 16 | ![](https://help-assets.codehub.cn/enterprise/20211013123834.png) 17 | 18 | ==== 2021/10/11 ==== 19 | -------------------------------------------------------------------------------- /source/repo/manage/archive.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 归档仓库 - CODING 帮助中心 3 | pageTitle: 归档仓库 4 | pagePrevTitle: 设置仓库基本信息 5 | pagePrev: repo/manage/basic.html 6 | pageNextTitle: 删除/重置仓库 7 | pageNext: repo/manage/delete.html 8 | --- 9 | 10 | 11 | 如需归档仓库,在代码仓库列表点击操作按钮并按照提示确认即可。 12 | 13 | ![](https://help-assets.codehub.cn/enterprise/20211104163834.png) 14 | 15 | 16 | 归档代码仓库之后,将会自动阻隔 Git 或 Web 端的代码仓库访问请求,用户无法继续访问和操作该仓库。已归档的仓库只能在「已归档」分类内查看,若希望恢复仓库的正常访问,需重新解除归档。 17 | 18 | ![](https://help-assets.codehub.cn/enterprise/20211104163920.png) 19 | 20 | 21 | 22 | 23 | ==== 2021/10/28 ==== 24 | -------------------------------------------------------------------------------- /source/workload/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 产品简介 - CODING 帮助中心 3 | pageTitle: 产品简介 4 | pageNextTitle: 测试活动概览 5 | pageNext: test-management/overview.html 6 | alias: 7 | - agile-development/efficacy-measure.html 8 | - pro/efficacy-measure.html 9 | --- 10 | 11 | > 此功能为高级版付费功能,欢迎前往[价格页](https://coding.net/pricing)进行服务订购。 12 | 13 | 在「工作负载」中,你可以根据组织架构,创建分组并添加成员。「工作负载」将自动统计组内成员在一定周期范围内同时进行的事项数,并在日历中展示事项安排,帮助部门负责人统一查看对比成员的工作量和工作安排。通过直观展示成员工作饱和度,管理者能清晰认识到成员的工作负载与工作效率,及时进行调整与推进。 14 | 15 | ![](https://help-assets.codehub.cn/enterprise/20210909181812.png) 16 | 17 | ==== 2021/09/09 ==== 18 | -------------------------------------------------------------------------------- /source/repo/best-practice/policy.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 如何提高代码质量 - CODING 帮助中心 3 | pageTitle: 如何提高代码质量 4 | pagePrevTitle: 提交合并请求时触发代码扫描 5 | pagePrev: repo/best-practice/mr.html 6 | pageNextTitle: 常见问题 7 | pageNext: repo/faq.html 8 | --- 9 | 10 | 以下是关于代码质量的最佳实践索引,并会持续更新。 11 | 12 | - [代码规范与 Git Flow](https://help.coding.net/insight/posts/a560d0f9/) 13 | - [PHP 项目代码规范实战](https://help.coding.net/insight/posts/f6802467/) 14 | - [Java 项目代码规范实战](https://help.coding.net/insight/posts/86bca674/) 15 | - [如何提高团队代码整洁度](https://help.coding.net/insight/posts/66f52f7/) 16 | 17 | 18 | ==== 2021/11/18 ==== 19 | -------------------------------------------------------------------------------- /source/repo/manage/delete.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 删除/重置仓库 - CODING 帮助中心 3 | pageTitle: 删除/重置仓库 4 | pagePrevTitle: 归档仓库 5 | pagePrev: repo/manage/archive.html 6 | pageNextTitle: 恢复已删除仓库 7 | pageNext: repo/manage/restore.html 8 | --- 9 | 10 | 11 | 如需重置或删除仓库,在代码仓库列表点击操作按钮并按照提示确认即可。删除后的代码仓库将移入回收站保留 30 天,项目管理员可在到期前进入回收站恢复。逾期将会彻底删除仓库,不可恢复。 12 | 13 | ![](https://help-assets.codehub.cn/enterprise/20210915160638.png) 14 | 15 | 16 | * 重置代码仓库后,将重置仓库内的所有代码,包括代码分支、合并请求、代码版本。重置后数据无法恢复。代码仓库将会被重置为空仓库。 17 | 18 | * 删除代码仓库将会永久删除当前代码仓库内的所有代码,包括代码分支、合并请求、代码版本。删除后数据无法恢复。代码仓库将无法通过任何途径访问。 19 | 20 | 21 | ==== 2021/10/28 ==== 22 | -------------------------------------------------------------------------------- /source/admin/pro.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 高级管理 - CODING 帮助中心 3 | pageTitle: 高级管理 4 | pagePrevTitle: 钉钉机器人 5 | pagePrev: admin/message/third-party/dingtalk.html 6 | --- 7 | 8 | 为满足企业团队管理的多样化需求,CODING 还提供以下高级版付费功能。 9 | 10 | * [仪表盘](/docs/pro/dashboard.html):将团队成员的工作数据可视化,便于团队管理员实时掌握成员工作情况,监控项目运行状态。 11 | * [团队目标](/docs/pro/okr.html):助力团队成员聚焦组织目标,全方位协同执行,凝聚团队战斗力,让战略坚实落地。 12 | * [工作负载](/docs/pro/efficacy-measure.html):以趋势图的形式展示团队成员在一段时间内的工作数据,便于度量和分析团队成员的工作负载与工作效率。 13 | * [访问审计](/docs/pro/access-audit.html):提供快速标记敏感内容与查询敏感内容访问日志的能力,帮助团队及时预判信息泄露风险,确保信息安全。 14 | * [访问者水印](/docs/pro/security.html):提供访客者水印功能以减少内容外泄风险。 15 | -------------------------------------------------------------------------------- /source/ci/plugins/error-skip.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 错误信号 - CODING 帮助中心 3 | pageTitle: 错误信号 4 | pagePrevTitle: 将镜像更新至 K8s 集群 5 | pagePrev: ci/plugins/html-report.html 6 | pageNextTitle: 推送到 CODING Docker 制品仓库 7 | pageNext: ci/plugins/cci-push-docker.html 8 | alias: devops/ci/plugins/api-doc.html 9 | --- 10 | 11 | 持续集成的「错误信号」步骤可以理解为构建的终止符,运行至此步骤后将停止余下步骤,直接中断构建过程。 12 | 13 | ![](https://help-assets.codehub.cn/enterprise/20210630112551.png) 14 | 15 | 在持续集成中添加「捕获错误子步骤」,能够将运行结果作为是否中断持续集成任务的信号。若成功运行,则继续执行余下步骤;即使失败也将执行余下步骤,但构建任务会被判断为失败。 16 | 17 | ![](https://help-assets.codehub.cn/enterprise/20210630113500.png) 18 | 19 | ==== 2021/06/30 ==== 20 | -------------------------------------------------------------------------------- /source/ci/faq/generic.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 常见问题 - CODING 帮助中心 3 | pageTitle: 常见问题 4 | pagePrevTitle: 在持续集成中使用 SSH 5 | pagePrev: ci/practice/ssh.html 6 | --- 7 | 8 | 本章节收录了有关于在使用 CODING 持续集成中可能遇到的问题,范围涵盖 Jenkinsfile 相关问题、构建执行过程与 Debug、持续集成与上下游产品联动等问题。若本文未能收录您实际遇见的问题,欢迎前往[工单中心](https://e.coding.net/signin?redirect=/workorder)提交使用疑惑,我们将按照实际情况及时补充相关问题的处理方法。 9 | 10 | - [Jenkinsfile 相关问题](/docs/ci/faq/jenkinsfile.html) 11 | - [构建任务运行失败](/docs/ci/faq/job-fail.html) 12 | - [自定义构建节点](/docs/ci/faq/customize-node.html) 13 | - [持续集成与代码仓库](/docs/ci/faq/ci-repo.html) 14 | - [持续集成与制品库](/docs/ci/faq/artifacts.html) 15 | 16 | ==== 2021/05/07 ==== 17 | -------------------------------------------------------------------------------- /source/compass/glossary.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 词汇表 - CODING 帮助中心 3 | pageTitle: 词汇表 4 | pagePrevTitle: 自动化 5 | pagePrev: compass/automation.html 6 | sitemap: false 7 | --- 8 | 9 | ### [工作流](#workflow) 10 | 11 | 通过定义包含各种研发活动的工作流,形成业务价值流动的视图,以识别实际项目中不符合预期要求的研发活动,定位耗时长或存在阻塞的环节,为管理者持续改进 DevOps 流程及规范成员的研发活动提供依据。 12 | 13 | ### [自动化](#automation) 14 | 15 | 自动化功能可实现 CODING DevOps 平台不同功能模块(如项目协同与代码仓库)之间的自动联动操作,加速上下游的信息与交付物流动,提高项目整体的事务处理效率。 16 | 17 | ### [规范](#policy) 18 | 19 | 规范功能用于检测或约束项目成员的分支推送、代码合并以及版本发布等行为,从而推动研发流程的规范化与标准化。 20 | 21 | ### [步骤](#step) 22 | 23 | 工作流的最小组成部分。每一个步骤均有特定的开始事件(不可修改),在开始事件被触发后即开始运转,直至下一步骤被触发时结束。 24 | 25 | ==== 2021/11/05 ==== 26 | -------------------------------------------------------------------------------- /source/cd/rbac.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 权限控制 - CODING 帮助中心 3 | pageTitle: 权限控制 4 | pagePrevTitle: 快速开始 5 | pagePrev: cd/start.html 6 | pageNextTitle: 部署控制台 7 | pageNext: cd/console.html 8 | --- 9 | 10 | 在默认情况下,团队内的持续部署权限控制: 11 | 12 | * 团队所有者:具备部署管理权限 13 | * 团队管理员:具备部署管理权限 14 | * 团队普通成员:不具备部署管理权限 15 | 16 | CODING 推荐团队中建立独立的「运维」角色,并赋予「部署管理」的权限,并且指定团队成员担任运维角色,以实现最小权限原则。如下图所示,设置一个「运维」角色,可点击添加用户组按钮设置更多角色。 17 | 18 | ![](https://help-assets.codehub.cn/enterprise/20210618153305.png) 19 | 20 | 在推荐的 DevOps 实践中,持续部署过程的操作简单划分可分两类角色: 21 | 22 | * 运维:配置持续部署过程(配置应用、配置发布流程、配置审批流程) 23 | 24 | * 开发:提交发布单进行发布(提交发布单、等待审批完成、查看发布过程) 25 | 26 | 27 | ==== 2020/08/13 ==== 28 | -------------------------------------------------------------------------------- /source/collaboration/customize/meeting.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 快速发起腾讯会议 - CODING 帮助中心 3 | pageTitle: 快速发起腾讯会议 4 | pagePrevTitle: 管理事项视图 5 | pagePrev: collaboration/customize/view.html 6 | pageNextTitle: 最佳实践——如何使用 CODING 进行项目规划 7 | pageNext: collaboration/best-practice/product-manager.html 8 | --- 9 | 10 | 项目协同中的需求、任务与缺陷等事项均支持一键发起腾讯会议,快速和与会者对齐事项内容能够促进生产与沟通效率。 11 | 12 | ### [使用方法](#use) 13 | 14 | 点击任一事项右下角中的「快速会议」或「预定会议」。 15 | 16 | ![](https://help-assets.codehub.cn/enterprise/20211020163818.png) 17 | 18 | 跳转至腾讯会议后进行权限授权。 19 | 20 | ![](https://help-assets.codehub.cn/enterprise/20211020164526.png) 21 | 22 | 自动跳转至腾讯会议后,邀请参会成员开始会议。 23 | 24 | ==== 2021/07/02 ==== 25 | -------------------------------------------------------------------------------- /source/cd/host-deploy/details.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 查看部署详情 - CODING 帮助中心 3 | pageTitle: 查看部署详情 4 | pagePrevTitle: 运行脚本阶段 5 | pagePrev: cd/host-deploy/script.html 6 | pageNextTitle: 回滚 7 | pageNext: cd/host-deploy/rollback.html 8 | --- 9 | 10 | ### 功能介绍 11 | 12 | 在项目内提交发布单,完成应用部署后,可点击对应阶段查看执行详情。 13 | 14 | ![](https://help-assets.codehub.cn/enterprise/20201224173338.png) 15 | 16 | ### 部署详情 17 | 18 | 部署详情可查看所有主机实例的部署状态和详细日志。 19 | 20 | ![](https://help-assets.codehub.cn/enterprise/20201224173427.png) 21 | 22 | ### 部署日志 23 | 24 | 可查看每台主机实例的详细部署日志,日志包含执行内容和执行结果。 25 | 26 | ![](https://help-assets.codehub.cn/enterprise/20201224173935.png) 27 | 28 | ==== 2020/12/24 ==== 29 | -------------------------------------------------------------------------------- /source/repo/ssh/pull-push.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 通过 SSH 协议推拉代码 - CODING 帮助中心 3 | pageTitle: 通过 SSH 协议推拉代码 4 | pagePrevTitle: 密钥指纹鉴权 5 | pagePrev: repo/ssh/fingerprint.html 6 | pageNextTitle: 分支管理——创建分支 7 | pageNext: repo/branch/create.html 8 | alias: 9 | - repo/ssh.html 10 | - host/ssh.html 11 | --- 12 | 13 | CODING 支持使用 SSH 协议推拉代码。 14 | 15 | 1. 参考[配置公钥](/docs/repo/ssh/config.html)生成公钥并添加至代码仓库或个人账户。 16 | 17 | 2. 在代码仓库的浏览页面复制其 SSH 地址。 18 | 19 | ![](https://help-assets.codehub.cn/enterprise/20211105104315.png) 20 | 21 | 22 | 3. 在本地运行 `git clone + 仓库地址` 命令行即可完成拉取。 23 | 24 | ![](https://help-assets.codehub.cn/enterprise/20210511113540.png) 25 | 26 | ==== 2021/11/10 ==== 27 | -------------------------------------------------------------------------------- /source/admin/message/in-site.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 站内通知 - CODING 帮助中心 3 | pageTitle: 站内通知 4 | pagePrevTitle: 常见问题 5 | pagePrev: admin/pay/faq.html 6 | pageNextTitle: 每日邮件提醒 7 | pageNext: admin/message/daily.html 8 | --- 9 | 10 | 点击右上角的铃铛图标可以查看与个人有关的全部通知,轻点「查看所有通知」能够查看 CODING 站内所有和自己有关的通知。 11 | 12 | ![](https://help-assets.codehub.cn/enterprise/20210719170025.png) 13 | 14 | 通知中心支持查看所有通知、未读通知、提到我的与系统通知。若要变更通知内容与范围,前往「个人账户设置」→「提醒设置」进行调整。 15 | 16 | ![](https://help-assets.codehub.cn/enterprise/20210720113050.png) 17 | 18 | 若希望使用第三方服务接收通知,你可以阅读如何使用[微信](/docs/admin/message/third-party/wechat.html)、[企业微信](/docs/admin/message/third-party/wecom.html)接收相关消息通知。 19 | 20 | ==== 2021/07/20 ==== 21 | -------------------------------------------------------------------------------- /source/admin/security-log.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 日志 - CODING 帮助中心 3 | pageTitle: 日志 4 | pagePrevTitle: 水印设置 5 | pagePrev: admin/watermark.html 6 | pageNextTitle: 服务订购——服务订购流程 7 | pageNext: admin/pay/process.html 8 | alias: admin/enterprise-account/security.html 9 | --- 10 | 11 | 点击团队首页右上角的齿轮图标 进入团队设置中心,选择「安全性」→「日志」进入日志管理界面。 12 | 13 | ![](https://help-assets.codehub.cn/enterprise/20211009142321.png) 14 | 15 | 在日志管理界面,您可以在「操作日志」页签查看该团队下的所有操作日志。您也可以进入指定页签查看指定类型的日志,包括登录日志、代码仓库操作日志和制品仓库操作日志。 16 | 17 | * 可按照操作者、操作类型及起始时间筛选日志。 18 | 19 | * 可通过右上角「导出 Excel」一键导出日志数据。 20 | 21 | 22 | ==== 2021/10/09 ==== 23 | -------------------------------------------------------------------------------- /source/cd/glossary.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 词汇表 - CODING 帮助中心 3 | pageTitle: 词汇表 4 | pagePrevTitle: 静态网站服务 5 | pagePrev: cd/static-website.html 6 | --- 7 | 8 | ### [部署流程](#deploy-process) 9 | 10 | 部署流程是用于描述持续部署具体行为的载体,将服务部署到相应集群中。 11 | 12 | ### [部署流程阶段](#deploy-stage) 13 | 14 | 流程阶段用于描述流水线中有顺序的执行动作。 15 | 16 | ### [触发器](#trigger) 17 | 18 | 触发器能够将流水线的启动与某一事件相关联,当事件发生后,流水线触发器携带制品信息自动触发流水线启动。 19 | 20 | ### [制品](#artifacts) 21 | 22 | 软件制品是指由源码编译打包生成的二进制文件,不同的开发语言对应着不同格式的二进制文件,这些二进制通常可以直接运行在服务器上。 23 | 24 | ### [集群](#cluster) 25 | 26 | K8s 是 google 开源的容器集群管理系统,提供应用部署、维护、扩展机制等功能。利用 K8s 能更加方便地管理在跨集群中运行的容器化应用。 27 | 28 | ### [应用](#app) 29 | 30 | 一个或多个微服务的组成与集合。 31 | 32 | ==== 2021/11/05 ==== 33 | -------------------------------------------------------------------------------- /source/code-scan/glossary.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 词汇表 - CODING 帮助中心 3 | pageTitle: 词汇表 4 | pagePrevTitle: 常见问题 5 | pagePrev: code-scan/faq.html 6 | --- 7 | 8 | ### [静态代码分析](#static-codescan) 9 | 10 | 在不运行代码的方式下,通过词法分析、语法分析、控制流、数据流分析等技术对程序代码进行分析;验证代码是否满足规范性、安全性、可靠性、可维护性、部分性能等指标。 11 | 12 | ### [扫描工具](#scan-tool) 13 | 14 | 基于静态代码分析技术,能够扫描出问题代码的工具。 15 | 16 | ### [责任人](#owner) 17 | 18 | 扫描出问题代码后的修复人,初始责任人将自动定位至代码的提交者。 19 | 20 | ### [扫描任务](#task) 21 | 22 | 扫描任务是管控扫描执行以及查看扫描结果的载体。 23 | 24 | ### [扫描方案](#plan) 25 | 26 | 扫描方案由多个规则包所组成。方案内支持质量门禁的设置,度量规则的切换,路径过滤等功能。 27 | 28 | ### [规则包](#rule-package) 29 | 30 | CODING 根据一些常见场景整理出的规则集合,比如针对希望统一 Java 的编码风格,那么可以使用相应的代码规范规则包。 31 | 32 | ==== 2021/11/05 ==== 33 | -------------------------------------------------------------------------------- /source/repo/security/push.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 开启提交者及提交注释验证 - CODING 帮助中心 3 | pageTitle: 开启提交者及提交注释验证 4 | pagePrevTitle: 使用 GPG 签名 commit 记录 5 | pagePrev: repo/security/gpg-sign.html 6 | pageNextTitle: 锁定文件/文件夹 7 | pageNext: repo/security/lock.html 8 | alias: repo/config/push.html 9 | --- 10 | 11 | 项目管理员可以在代码仓库的「设置」->「推送设置」页面开启针对 Git 提交者 (Committer) 和 提交作者 (Author)的验证。 12 | 13 | ![](https://help-assets.codehub.cn/enterprise/20211104145908.png) 14 | 15 | 项目管理员还可以设置 Git 提交注释的规则,不符合该规则的提交将被拦截。例如,将提交注释规则设置为 `^fix #[0-9]+`,则规定了每次提交时必须要在提交注释中关联项目事项;如 `^fix #630` 表明该次提交关联当前项目中 ID 为 630 的事项。 16 | 17 | >如需了解如何在提交信息中自动关联事项,请参考[提交文件](/docs/repo/start.html#git-commit)。 18 | 19 | 20 | 21 | ==== 2021/10/28==== 22 | -------------------------------------------------------------------------------- /source/admin/member/tctp.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 从 TCTP 导入成员 - CODING 帮助中心 3 | pageTitle: 通过 TCTP 导入成员 4 | pagePrevTitle: 通过 LDAP 导入成员 5 | pagePrev: admin/member/ldap.html 6 | pageNextTitle: 权限配置 7 | pageNext: admin/permission.html 8 | alias: admin/members/tctp.html 9 | --- 10 | 11 | 团队管理员完成 [TCTP 绑定](/docs/admin/service-integration/tctp.html)后,前往「团队设置中心」->「全局设置」->「组织与成员」->「成员管理」选择 `TCTP` 导入成员。 12 | 13 | 14 | 导入开始后可以在页面中查看进度。 15 | 16 | ![](https://help-assets.codehub.cn/enterprise/20210812190151.png) 17 | 18 | > CODING 侧不提供 TCTP 登录入口,请使用 TCTP 账号登录后,通过「应用管理」找到对应的应用,点击跳转应用跳转登录到 CODING。 19 | 20 | ![TCTP 登录 CODING](https://help-assets.codehub.cn/enterprise/20210810114052.png) 21 | 22 | ==== 2021/09/29 ==== 23 | -------------------------------------------------------------------------------- /source/collaboration/customize/version-control.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 管理版本 - CODING 帮助中心 3 | pageTitle: 管理版本 4 | pagePrevTitle: 引用资源&上传附件 5 | pagePrev: collaboration/customize/references.html 6 | pageNextTitle: 管理标签 7 | pageNext: collaboration/customize/label.html 8 | --- 9 | 10 | ### [活动日志](#activity-log) 11 | 12 | 对事项「描述」的变更与修改都会记录在活动日志中,每次更新详细记录,版本变动一目了然。 13 | 14 | ![](https://help-assets.codehub.cn/enterprise/20210617181323.png) 15 | 16 | ### [版本回溯](#backdate) 17 | 18 | 可以在活动日志内,通过「查看该版本」按时间逐个查看所有历史版本,并且支持版本回溯,可选择任意历史版本进行恢复。 19 | 20 | ![](https://help-assets.codehub.cn/enterprise/20210617182201.png) 21 | 22 | ![](https://help-assets.codehub.cn/enterprise/20210617183115.png) 23 | 24 | ==== 2021/07/02 ==== 25 | -------------------------------------------------------------------------------- /source/test-management/overview.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 测试活动概览 - CODING 帮助中心 3 | pageTitle: 测试活动概览 4 | pagePrevTitle: 分析测试报告 5 | pagePrev: test-management/report.html 6 | pageNextTitle: 最佳实践 7 | pageNext: test-management/best-practice.html 8 | --- 9 | 10 | ### [功能介绍](#intro) 11 | 12 | 测试概览页面展示目前项目的活动度以及与个人相关的待办计划。 13 | 14 | #### [项目测试概览](#active) 15 | 16 | 在项目中点击「测试管理」->「测试概览」,可以进入该项目的测试概览页面。 17 | 在概览中您可以看到项目内的用例数量、迭代的测试时长占比、缺陷数据等。 18 | 19 | ![](https://help-assets.codehub.cn/enterprise/20210909183659.png) 20 | 21 | #### [我的测试数据](#my) 22 | 23 | 在测试概览页面,点击「我的」页签可查看与我相关的测试数据,包括我的测试效能、分配给我的缺陷、测试燃尽图等。 24 | 25 | 26 | ![](https://help-assets.codehub.cn/enterprise/20210909184033.png) 27 | 28 | ==== 2021/09/09 ==== 29 | -------------------------------------------------------------------------------- /source/test-management/glossary.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 词汇表 - CODING 帮助中心 3 | pageTitle: 词汇表 4 | pagePrevTitle: 最佳实践 5 | pagePrev: test-management/best-practice.html 6 | --- 7 | 8 | ### [功能用例](#functional-cases) 9 | 10 | 针对特定软件产品进行功能测试任务的抽象描述,包括了对本次测试的描述、步骤、预期结果与问题等级等。 11 | 12 | ### [自动化用例](#automatic-cases) 13 | 14 | 将人为驱动的测试行为转化成的机器执行的测试脚本。 15 | 16 | ### [用例评审](#cases-review) 17 | 18 | 在测试活动中,复核测试用例以达到对齐意见与补全测试点流程。 19 | 20 | ### [测试计划](#plan) 21 | 22 | 测试计划是测试用例的集合。它描述了本次测试活动的对象、范围、方法、工作进度与预期结果。 23 | 24 | ### [测试报告](#report) 25 | 26 | 包含测试过程与结果,可以为纠正软件的存在的质量问题提供依据,同时为软件的验收与交付打下基础。 27 | 28 | ### [测试任务](#test-task) 29 | 30 | 测试任务用于指代测试计划中的测试用例。在测试计划中将测试用例与缺陷相关联,那么关联的测试用例也被称为”关联测试任务“。 31 | 32 | ==== 2021/11/05 ==== 33 | -------------------------------------------------------------------------------- /source/dashboard/best-practice.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 最佳实践 - CODING 帮助中心 3 | pageTitle: 最佳实践 4 | pagePrevTitle: 使用仪表盘 5 | pagePrev: dashboard/use.html 6 | alias: 7 | - agile-development/dashboard.html 8 | - pro/dashboard.html 9 | --- 10 | 11 | 不同于其他工业领域(例如制造、建筑),软件工程的研发效能没有非常明确的度量属性和度量方式,也很难有一个所有研发团队都认可的度量体系。不同的团队会结合自身业务特点、组织文化和工程水平来制定自己的指标体系。虽然在具体指标上有些许区别,但大部分都包含三个方面:交付质量、交付速度、人员效率。在进行度量时,每个指标需要有清晰的定义、完整的数据来源和准确的统计方式,否则很难给研发效能改进带来指导意义。 12 | 13 | CODING 仪表盘针对研发流程的重点环节,为基于 CODING 实践敏捷研发以及 DevOps 工程实践的团队提供了丰富的统计维度。通过自动化的仪表盘,更低成本辅助研发团队进行工程效能的度量分析与改进。在具体实践中,你的团队可以结合多个指标以及多个维度的数据来进行分析。 14 | 15 | 前往[《CODING 仪表盘最佳实践》](https://help.coding.net/insight/posts/d371769f/),带您深入理解 CODING 仪表盘,结合实际研发过程,帮助您和团队快速上手,提高研发工程效能。 16 | 17 | ==== 2021/08/23 ==== 18 | -------------------------------------------------------------------------------- /source/repo/security/security.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 检查仓库安全风险 - CODING 帮助中心 3 | pageTitle: 检查仓库安全风险 4 | pagePrevTitle: 版本与标签——管理版本标签 5 | pagePrev: repo/version/tag.html 6 | pageNextTitle: 设置仓库访问方式 7 | pageNext: repo/security/access.html 8 | alias: repo/config/security.html 9 | --- 10 | 11 | 项目管理员可以在代码仓库的「设置」->「仓库安全」页面查看该仓库存在的安全风险。 12 | 13 | ![](https://help-assets.codehub.cn/enterprise/20211104145830.png) 14 | 15 | 目前,系统支持对代码仓库进行以下检查: 16 | 17 | - 是否开启了 Git 提交者和提交作者检查 18 | - 是否上传了 GPG 公钥 19 | - 是否设置了保护分支;若已设置保护分支,是否设置了分支管理员和开启代码所有者评审 20 | 21 | 为了提高仓库的安全等级,建议你参考[推送设置](/docs/repo/config/push.html)、[使用 GPG 签名 commit 记录](/docs/repo/gpg-sign.html)、[保护分支](/docs/repo/branch/protected.html)配置对应功能。 22 | 23 | 24 | 25 | 26 | ==== 2021/10/28 ==== 27 | -------------------------------------------------------------------------------- /source/document/wiki/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 产品简介 - CODING 帮助中心 3 | pageTitle: 产品简介 4 | pagePrevTitle: 访问权限 5 | pagePrev: document/knowledge/permission.html 6 | pageNextTitle: Markdown 语法 7 | pageNext: document/markdown.html 8 | alias: management/wiki.html 9 | --- 10 | 11 | CODING Wiki 是一个应交流需要,可随时进行“增删改”的知识库,可用于记录整个项目的来龙去脉,展示当前项目状态。 12 | 13 | Wiki 支持 Markdown 格式,拥有版本控制、新旧版本对比、无限层级拓展等功能,让项目成员更好地进行文档书写及协作,帮助团队进行知识沉淀;同时还支持公开文档链接、一键生成静态网站等功能。 14 | 15 | ![](https://help-assets.codehub.cn/enterprise/wiki%201.png) 16 | 17 | 单篇 Wiki 文档字数限制在 50,000 字以内。如果您有更高的字数需求,请前往[工单中心](https://e.coding.net/signin?redirect=/workorder)获取帮助。 18 | 19 | Wiki 编辑器全局采用 Markdown 编辑语法,若需要编写其他内容样式,点击[了解更多](/docs/document/wiki/markdown.html)。 20 | 21 | ==== 2021/11/11 ==== 22 | -------------------------------------------------------------------------------- /source/orbit/permission.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 权限配置 - CODING 帮助中心 3 | pageTitle: 权限配置 4 | pagePrevTitle: true 5 | pagePrev: true 6 | pageNextTitle: true 7 | pageNext: true 8 | sitemap: false 9 | --- 10 | 11 | 应用中心与基础设施的权限控制集中于团队级权限中。点击团队首页右上角的齿轮图标 进入团队设置中心,点击「权限配置」→「用户组」→「权限配置」,你可以在此处为用户组勾选应用中心与基础设施权限点。 12 | 13 | ![](https://help-assets.codehub.cn/enterprise/20211102173104.png) 14 | 15 | 默认情况下,团队内的应用中心权限控制: 16 | 17 | - 团队所有者 / 管理员 18 | 具备应用中心与基础设施权限 19 | 20 | - 团队普通成员 21 | 需额外申请权限 22 | 23 | 24 | 25 | ==== 2021/11/03 ==== 26 | -------------------------------------------------------------------------------- /source/document/files/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 产品简介 - CODING 帮助中心 3 | pageTitle: 产品简介 4 | pagePrevTitle: Markdown 语法参考 5 | pagePrev: management/markdown.html 6 | pageNextTitle: 快速开始 7 | pageNext: management/files/start.html 8 | alias: management/files.html 9 | --- 10 | 11 | CODING 文件网盘用于存储项目内的文件资料,兼容所有文件格式,并且支持对文件历史版本的记录与回溯,以便团队对项目资料整体进行版本管理与质量把控。在网盘内还能够预览部分格式的文件,高效定位高频文档,助力团队内高效协作。 12 | 13 | ![](https://help-assets.codehub.cn/enterprise/%E6%96%87%E4%BB%B6%E7%BD%91%E7%9B%98%201.png) 14 | 15 | ### [容量说明](#capacity) 16 | 17 | - **标准版** 18 | 19 | 标准版团队的文件网盘总容量为 30G,单个文件的容量上限为 300MB,单次上传文件总数的限制为 2000 个。 20 | 21 | - **高级版** 22 | 23 | 标准版团队的文件网盘总容量不设上限,单个文件的容量上限为 2GB。 24 |
25 | 如有需要,请点击[此处](https://coding.net/pricing)升级您的团队等级。 26 | 27 | ==== 2021/11/11 ==== 28 | -------------------------------------------------------------------------------- /source/collaboration/pattern/scrum/review.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 总结复盘 - CODING 帮助中心 3 | pageTitle: 总结复盘 4 | pagePrevTitle: 迭代统计 5 | pagePrev: collaboration/pattern/scrum/statistics.html 6 | pageNextTitle: 导入&导出事项 7 | pageNext: collaboration/customize/import-export.html 8 | --- 9 | 10 | 在完整的敏捷研发流程中,团队会通过迭代计划会议、每日站会、回顾会议等手段,对流程中所有事项进行讨论、评估与回顾,重新审视事项完成情况,计算距离设想目标的达成率,总结迭代中的闪光点与不足之处,并列出下次的可执行任务,便于改进整个团队的研发效能。 11 | 12 | 所有会议内容都可以在 CODING 中使用 Wiki 进行记录,CODING Wiki 是一个应交流需要,可随时进行“增删改”的知识库,可用于记录整个项目的来龙去脉,展示当前项目状态,让项目成员更好地进行文档书写及协作,方便团队复盘、查阅并进行知识沉淀。详情可查阅[《文档管理 - Wiki》](https://help.coding.net/docs/document/wiki.html)。 13 | 14 | 每个团队各自面临的问题也不尽相同,实践敏捷本身就是一个迭代的过程,每次回顾总结提炼的问题都将成为团队内宝贵的经验。 15 | 16 | ![](https://help-assets.codehub.cn/enterprise/wiki%201.png) 17 | 18 | ==== 2021/07/02 ==== 19 | -------------------------------------------------------------------------------- /source/ci/process/text.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 文本编辑器 - CODING 帮助中心 3 | pageTitle: 文本编辑器 4 | pagePrevTitle: 快速开始 5 | pagePrev: ci/start.html 6 | pageNextTitle: 配置详情 7 | pageNext: ci/process/detail.html 8 | --- 9 | 10 | 构建任务的流程本质上是在遵循配置文件中所定义的流程与步骤。CODING 持续集成全面兼容 Jenkinsfile,在文本编辑器中编写的配置文件所需遵循的语法规范与 Jenkinsfile 保持一致即可成功运行。 11 | 12 | 进入任意项目后,点击左侧的「持续集成」按钮,点击构建计划的设置按钮。 13 | 14 | ![](https://help-assets.codehub.cn/enterprise/20210914160752.png) 15 | 16 | 点击流程配置中的文本编辑器。 17 | 18 | ![](https://help-assets.codehub.cn/enterprise/20210914161024.png) 19 | 20 | 构建过程语法遵循 Jenkinsfile 语法,详情请参考下方文档。 21 | 22 | ### [参考阅读](#jenkinsfile) 23 | 24 | - [Jenkinsfile 官方文档](https://www.jenkins.io/doc/book/pipeline/jenkinsfile/) 25 | - [配置详情](/docs/ci/process/detail.html) 26 | 27 | ==== 2021/08/14 ==== 28 | -------------------------------------------------------------------------------- /source/repo/manage/basic.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 设置仓库信息 - CODING 帮助中心 3 | pageTitle: 设置仓库信息 4 | pagePrevTitle: 查看仓库详情 5 | pagePrev: repo/manage/view.html 6 | pageNextTitle: 归档仓库 7 | pageNext: repo/manage/archive.html 8 | alias: 9 | - host/config.html 10 | - repo/config/basic.html 11 | --- 12 | 13 | 进入一个项目之后,在「代码仓库」模块,点击任一仓库进入其详情页面。在「设置」页签即可对当前代码仓库进行设置。 14 | 15 | > 只有项目管理员才能进入仓库的设置页面。 16 | 17 | ![](https://help-assets.codehub.cn/enterprise/20210813145138.png) 18 | 19 | 你可以在「基本设置」页面修改你的仓库名称与图标。修改名称后会导致导致仓库的访问 URL 改变,在此之前的 URL 地址将失效。修改名称后需在你的本地仓库与新的地址相匹配。 20 | 21 | ```bash 22 | git remote set-url origin https://e.coding.net/codingcorp/coding-help-generator/[new-repo-name].git 23 | ``` 24 | 25 | 除此之外,你还可以在该页面添加仓库描述、查看代码仓库用量情况。如有必要,你还可以归档、重置或删除代码仓库。 26 | 27 | ==== 2021/08/11 ==== 28 | -------------------------------------------------------------------------------- /source/cd/host-deploy/bastion-host.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 堡垒机 - CODING 帮助中心 3 | pageTitle: 堡垒机 4 | pagePrevTitle: 主机部署介绍 5 | pagePrev: cd/host-deploy/intro.html 6 | pageNextTitle: 主机组 7 | pageNext: cd/host-deploy/host-group.html 8 | --- 9 | 10 | ### 功能介绍 11 | 12 | 堡垒机是 CODING CD 与主机之间的代理,CODING CD 通过堡垒机上运行的 Agent 服务管控应用发布过程。点击团队首页右上角的齿轮图标 进入团队设置中心,你可以在「功能设置」→「堡垒机」中进行管理。 13 | 14 | ![](https://help-assets.codehub.cn/enterprise/20211013193427.png) 15 | 16 | ### 添加堡垒机 17 | 18 | 只需两步即可添加堡垒机: 19 | 20 | 1. 指定堡垒机名称(支持中文、字母、中划线和下划线) 21 | 22 | 2. 拷贝 Agent 服务的下载/安装链接,在堡垒机上执行命令快速安装 Agent(Agent 安装成功后将自启动) 23 | 24 | ![](https://help-assets.codehub.cn/enterprise/20211013193552.png) 25 | 26 | ==== 2020/12/24 ==== 27 | -------------------------------------------------------------------------------- /source/cd/host-deploy/rollback.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 回滚 - CODING 帮助中心 3 | pageTitle: 回滚 4 | pagePrevTitle: 查看部署详情 5 | pagePrev: cd/host-deploy/check-deploy-details.html 6 | pageNextTitle: 最佳实践——Kubernetes 滚动发布实践 7 | pageNext: cd/best-practice/rolling-release.html 8 | --- 9 | 10 | ### 功能介绍 11 | 12 | 使用场景一般是当线上版本出现故障时,需要回滚到某个稳定的历史版本。在【集群】页面点击服务组,可查看回滚操作入口: 13 | 14 | ![](https://help-assets.codehub.cn/enterprise/20201224174314.png) 15 | 16 | 回滚操作包含如下 5 个配置项: 17 | 18 | * 基础设置:选择回滚的目标版本,填写对回滚操作的描述 19 | * 前置脚本:选择版本后,系统自动填充部署此版本时的脚本内容,用户可根据需要编辑 20 | * 制品下载:选择版本后,系统自动填充部署此版本时所用到的制品,不支持变更 21 | * 后置脚本:选择版本后,系统自动填充部署此版本时的脚本内容,用户可根据需要编辑 22 | * 健康探针:支持 HTTP 和 SHELL 脚本两种探针类型,用户可使用探针确保服务回滚成功 23 | 24 | ![](https://help-assets.codehub.cn/enterprise/20201224174338.png) 25 | 26 | ==== 2020/12/24 ==== 27 | -------------------------------------------------------------------------------- /source/start/relation.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 团队、项目与项目集的关系 3 | pageTitle: 团队、项目与项目集的关系 4 | pagePrevTitle: 使用流程 5 | pagePrev: start/process.html 6 | pageNextTitle: 权限管理 7 | pageNext: start/permission.html 8 | --- 9 | 10 | 在使用 CODING DevOps 平台时,了解以下概念将会帮助你快速入门: 11 | 12 | 13 | * [团队](/docs/admin/team.html):一个团队可以理解为一个组织,是成员访问 CODING DevOps 平台的必备前提。没有创建或加入团队的成员无法登录 CODING DevOps。 14 | 15 | * [项目](/docs/collaboration/intro.html):项目在团队内创建,是实践 CODING DevOps 的最小单位,也是团队成员进行合作与交互的基本单元。 16 | 17 | * [项目集](/docs/project-set/start.html):项目集针对跨项目协作场景,是为了实现一个共同目标而将一组相互关联的项目归纳在一个集合中相互协作、统一跟踪管理。 18 | 19 | 团队、项目与项目集的关系如下图所示。 20 | 21 | ![](https://help-assets.codehub.cn/enterprise/20210923113604.png) 22 | * 一个团队下允许多个项目与项目集。 23 | * 一个项目集允许多个项目参与;而一个项目可同时参与多个项目集,也可以独立存在,不归属于任何项目集。 24 | 25 | 26 | 27 | ==== 2021/09/22==== 28 | -------------------------------------------------------------------------------- /source/qci/cifile/specific-branch.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 拉取特定分支 - CODING 帮助中心 3 | pageTitle: 拉取特定分支 4 | sitemap: false 5 | --- 6 | 7 | 运行流水线时,CODING-CI 默认会全量拉取代码库,以保证用户可以做自由切换分支等操作。有些时候,我们并不需要在流水线中拉取代码,或者并不需要拉取全量代码,但还需要注册代码库以保证 webhook 触发能够正常工作,CODING-CI 允许在流水线或 CIFile 中设置拉取代码的配置。 8 | 9 | 在 CIFile 中配置方式如下: 10 | 11 | ```yaml 12 | version: "2.0" 13 | code_checkout_type: CHECKOUT_ONLY_BRANCH 14 | stages: 15 | - stage: 新阶段 16 | tasks: 17 | ``` 18 | 19 | CIFile 中可以声明 code_checkout_type,其值为枚举,具体如下: 20 | 21 | ``` 22 | CHECKOUT_ALL: 全量拉取代码 (这是Coding-CI的默认行为) 23 | CHECKOUT_ONLY_BRANCH: 只拉取选定分支的代码 24 | NO_CHECKOUT: 不拉取代码 25 | ``` 26 | 27 | **注意** 选择`NO_CHECKOUT`后,会清空已有代码库文件的工作空间 28 | 29 | 在界面上,可以进入流水线配置 -> 全局选项,进行配置 30 | 31 | ![](https://help-assets.codehub.cn/enterprise/20211026112135.png) 32 | 33 | ==== 2021/10/26 ==== 34 | -------------------------------------------------------------------------------- /source/collaboration/customize/label.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 管理标签 - CODING 帮助中心 3 | pageTitle: 管理标签 4 | pagePrevTitle: 管理版本 5 | pagePrev: collaboration/customize/version-control.html 6 | pageNextTitle: 事项视图管理 7 | pageNext: collaboration/customize/view.html 8 | --- 9 | 10 | ### [添加标签](#add) 11 | 12 | 在事项详情页中,可以为该事项添加「标签」,呈现重点信息。一个事项可以对应多个标签。默认无标签,可以在添加标签时填写「标题名称」、选择「标签颜色」,完成快速创建。 13 | 14 | ![](https://help-assets.codehub.cn/enterprise/20210617184859.png) 15 | 16 | 在事项列表页,可以在筛选器中通过标签快速准确地挑选同一类别的任务,帮助团队快速整合项目内的相似信息。 17 | 18 | ![](https://help-assets.codehub.cn/enterprise/20210617185200.png) 19 | 20 | ### [管理标签](#management) 21 | 22 | 通过项目首页左下方「项目设置」->「项目与成员」->「分类标签」,可以管理标签,对标签进行查看关联统计、新建、重命名、删除等操作。注意:删除标签会同时解除所有事项和合并请求对该标签的引用,请谨慎操作。 23 | 24 | ![](https://help-assets.codehub.cn/enterprise/20210617190401.png) 25 | 26 | ==== 2021/07/02 ==== 27 | -------------------------------------------------------------------------------- /source/repo/branch/hidden.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 设置隐藏分支 - CODING 帮助中心 3 | pageTitle: 设置隐藏分支 4 | pagePrevTitle: 设置保护分支 5 | pagePrev: repo/branch/protected.html 6 | pageNextTitle: 使用代码所有者机制 7 | pageNext: repo/branch/codeowner.html 8 | --- 9 | 10 | 如需控制单个分支的访问权限,你可以将默认分支以外的任一分支设为隐藏分支,只有经授权的用户或用户组才能访问该分支,保证代码的安全性。 11 | 12 | 1. 在代码仓库的详情页面,点击「设置」->「分支设置」进入分支设置页面。 13 | 14 | ![](https://help-assets.codehub.cn/enterprise/20210813143516.png) 15 | 16 | 2. 点击「添加隐藏分支」,选择或输入分支后点击「保存」。添加成功的隐藏分支会显示在隐藏分支列表。 17 | 2. 通过「新增用户组」或「新增成员」添加允许/拒绝分支访问的用户。 18 | 19 | 20 | ![](https://help-assets.codehub.cn/enterprise/20210817125640.png) 21 | 22 | 隐藏分支访问权限优先级为 用户 > 用户组 > 所有用户。当某个成员归属多个用户组时,若某个用户组具备访问权限,那么其能够访问隐藏分支。 23 | 24 | 例如,用户 A 同时归属于用户组 1 (允许访问 `dev/001` 分支) 和用户组 2 (拒绝访问 `dev/001` 分支),在该种情况下用户 A 可以访问 `dev/001` 分支。 25 | 26 | 27 | 28 | 29 | ==== 2021/11/11 ==== 30 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/ascetic.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Original style from softwaremaniacs.org (c) Ivan Sagalaev 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: white; 12 | color: black; 13 | } 14 | 15 | .hljs-string, 16 | .hljs-variable, 17 | .hljs-template-variable, 18 | .hljs-symbol, 19 | .hljs-bullet, 20 | .hljs-section, 21 | .hljs-addition, 22 | .hljs-attribute, 23 | .hljs-link { 24 | color: #888; 25 | } 26 | 27 | .hljs-comment, 28 | .hljs-quote, 29 | .hljs-meta, 30 | .hljs-deletion { 31 | color: #ccc; 32 | } 33 | 34 | .hljs-keyword, 35 | .hljs-selector-tag, 36 | .hljs-section, 37 | .hljs-name, 38 | .hljs-type, 39 | .hljs-strong { 40 | font-weight: bold; 41 | } 42 | 43 | .hljs-emphasis { 44 | font-style: italic; 45 | } 46 | -------------------------------------------------------------------------------- /source/qci/result/badge.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 结果徽章 - CODING 帮助中心 3 | pageTitle: 结果徽章 4 | pagePrevTitle: 持续集成简介 5 | pagePrev: qci/intro/ci.html 6 | pageNextTitle: 快速开始 7 | pageNext: ci/start.html 8 | sitemap: false 9 | --- 10 | 11 | 通过在 markdown 文档中(比如代码库的 readme.md )添加链接的方式,可以在文档中展示指定 CODING-CI 任务的最近一次执行的序号和执行结果徽章,点击徽章可直接跳转 CODING-CI 平台该任务的最新一次执行。 12 | 13 | ### 示例 14 | 15 | ![](https://help-assets.codehub.cn/enterprise/20211026142007.png) 16 | 17 | ### 快速使用 18 | 19 | CODING-CI 的每个任务的详情页面都有项目徽章,点击这个徽章,可以直接看到项目的徽章的使用方法: 20 | 21 | ![CODING-CI 项目徽章展示](../../_static/QCI项目徽章的使用方法.png) 22 | 23 | 使用方法现已支持用户新增展示自定义字段,使用链接可以在界面的内容字段填入内容,按 Enter 即可预览 24 | 自定义字段的内容将会替换原来的当前最新构建号,可以在自定义的内容后加上 `$build` 即可同时显示用户的自定义内容和当前最新构建号 25 | 26 | 在链接上的体现是:在请求链接上添加参数 subtitle,subtitle 传空时默认展示当前最新构建号, 27 | subtitle 传值时展示所传的值,所传的值包含 `$build` 字符时,会同时显示值和当前最新构建号 28 | 29 | ==== 2021/08/04 ==== 30 | -------------------------------------------------------------------------------- /source/repo/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 产品简介 - CODING 帮助中心 3 | pageTitle: 产品简介 4 | pageNextTitle: 快速开始 5 | pageNext: repo/start.html 6 | alias: host/introduce.html 7 | --- 8 | 9 | ![](https://help-assets.codehub.cn/enterprise/20210508154245.png) 10 | 11 | ### [产品介绍](#intro) 12 | 13 | 在快速迭代的互联网项目中,多人共同协作代码开发是常见的场景。将代码托管至云端,除了能让项目有一个远端备份外,对开发团队协作本身而言更是如虎添翼。CODING 代码托管提供了代码管理、分支管理、权限管理、版本管理等实用功能,能够帮助开发者规避本地代码管理的局限与安全性障碍,回归开发本身。 14 | 15 | ### [产品优势](#advantages) 16 | 17 | - **高可用仓库** 18 | 19 | 支持 Git/SVN 两种常见版本控制工具,云端高可用,数据安全有保障。 20 | 21 | - **代码评审** 22 | 23 | 逐行对比、逐行评论、分支合并自动添加评审者,提供良好的代码阅读与代码审查体验。 24 | 25 | - **代码浏览** 26 | 27 | 浏览代码时支持上下、左右对比模式。代码提交前后改动差异皆清晰可视,分毫不差。 28 | 29 | - **版本管理** 30 | 31 | 发布代码自动生成规范版本号,能够直接与任务/缺陷关联,让源码发布与交付有标准可循,更能够助力高效协同。 32 | 33 | - **分支保护** 34 | 35 | 分支粒度管理、精细化权限设置,让团队协作规范而有序。 36 | 37 | ==== 2021/09/15 ==== 38 | -------------------------------------------------------------------------------- /source/member/personal-account/settings.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 个人账户设置 - CODING 帮助中心 3 | pageTitle: 个人账户设置 4 | pagePrevTitle: 个人工作台 5 | pagePrev: member/workbench.html 6 | pageNextTitle: 两步验证介绍 7 | pageNext: member/personal-account/authenticator.html 8 | --- 9 | 10 | ### [功能介绍](#intro) 11 | 12 | 鼠标移至右上角的头像处,点击下拉菜单中的「个人账户设置」。您可以在此页面修改账户信息、邮箱设置、模板设置和访问令牌等。 13 | 14 | ### [修改账号信息](#personal-info) 15 | 16 | 在「个人账户」中,你可进行账号邮箱、密码、手机、微信等信息设置。其中邮箱、密码及微信可用于登录 CODING。邮箱和密码作为代码托管 HTTPS 克隆等敏感操作的认证凭据。 17 | 18 | ![](https://help-assets.codehub.cn/enterprise/20210412173937.png) 19 | 20 | #### [修改头像](#avatar) 21 | 22 | 点击头像进入头像修改页面,选择文字头像或者在本地选择对应图片作为头像,图片最大尺寸为 800 X 800,不得大于 1 MB。 23 | 24 | ### [邮箱设置](#email) 25 | 26 | 在「邮箱设置」中,你可以更改或新增邮箱。主邮箱是您账户中较为重要的凭据,可以用于 CODING 账号、代码推拉、制品库的登录用户名等。 27 | 28 | ![](https://help-assets.codehub.cn/enterprise/20210412174321.png) 29 | 30 | ==== 2021/09/09 ==== 31 | -------------------------------------------------------------------------------- /source/ci/node/type.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 构建节点类型 - CODING 帮助中心 3 | pageTitle: 构建节点类型 4 | pagePrevTitle: 缓存目录 5 | pagePrev: ci/configuration/cache.html 6 | pageNextTitle: 默认节点环境 7 | pageNext: ci/node/env.html 8 | --- 9 | 10 | ### [功能介绍](#intro) 11 | 12 | 当您在使用 CODING 持续集成进行构建时,本质上是调用计算资源作为「构建节点」完成构建任务。你可以选择使用官方默认提供的云计算资源或自行接入自定义构建节点两种方式运行构建任务。 13 | 14 | ### [默认构建节点](#default) 15 | 16 | CODING 官方提供中国上海、中国香港、美国硅谷三地的计算资源用于执行构建任务,计算资源的限额策略为: 17 | 18 | ![](https://help-assets.codehub.cn/enterprise/20210915151417.png) 19 | 20 | > 基础包/标准版团队为免费,点击[了解更多](https://coding.net/pricing)。 21 | 22 | 默认节点内置了构建环境,其中预装了开发语言 SDK、命令行工具等服务,点击[阅读详情](/docs/ci/ways.html)。 23 | 24 | ### [自定义构建节点](#customize) 25 | 26 | 在实际的开发项目中,所涉及的开发环境可能是多种多样的,当官方节点的构建环境无法承载项目的持续集成要求时,例如需要使用 macOS Xcode 构建 iOS 应用时,就可以通过接入自定义类型节点(物理机/虚拟机/容器等)运行特定任务。 27 | 28 | [点击了解](/docs/ci/node/customize.html)更多关于自定义构建节点的内容。 29 | 30 | ==== 2021/10/19 ==== 31 | -------------------------------------------------------------------------------- /source/artifacts/cleanup-strategy.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 清理策略 - CODING 帮助中心 3 | pageTitle: 清理策略 4 | pagePrevTitle: 制品版本覆盖策略 5 | pagePrev: artifacts/version.html 6 | pageNextTitle: 常见问题 7 | pageNext: artifacts/problem.html 8 | --- 9 | 10 | 制品仓库的清理策略能够及时清理老旧版本的制品。您可以通过设置清理策略快速清理多余制品,释放储存空间。目前支持清理策略设置的制品类型: 11 | 12 | - npm 13 | - maven 14 | - helm 15 | 16 | ### 配置清理策略 17 | 18 | 进入上述三种类型的制品仓库页后,点击「设置仓库」>「清理策略」。 19 | 20 | ![](https://help-assets.codehub.cn/enterprise/20210311165452.png) 21 | 22 | 您需要先填写清理设置中的两个触发条件,再选择执行自动/手动清理,只有同时符合两个触发清理条件的制品才会被纳入清理列表。 23 | 24 | ![](https://help-assets.codehub.cn/enterprise/20210311170856.png) 25 | 26 | ### 查看清理记录 27 | 28 | 您可以在「团队管理」>「日志」中查看制品仓库的操作日志。 29 | 30 | ![](https://help-assets.codehub.cn/enterprise/20210312102521.png) 31 | 32 | 【项目概览】中的项目动态也会直接展示制品版本删除记录。 33 | 34 | ![](https://help-assets.codehub.cn/enterprise/20210311171552.png) 35 | 36 | ==== 2021/03/11 ==== 37 | -------------------------------------------------------------------------------- /source/artifacts/glossary.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 词汇表 - CODING 帮助中心 3 | pageTitle: 词汇表 4 | pagePrevTitle: 使用 npm 仓库管理 Javascript 私有依赖包 5 | pagePrev: artifacts/practices/npm-js.html 6 | --- 7 | 8 | ### [制品](#artifacts) 9 | 10 | 软件制品是指由源码编译打包生成的二进制文件,不同的开发语言对应着不同格式的二进制文件,这些二进制通常可以直接运行在服务器上。 11 | 12 | ### [制品仓库](#artifacts-repo) 13 | 14 | 制品仓库用以储存和分发源代码编译后的构建产物,可以与源代码协同进行版本化控制;与本地构建工具和云上的持续集成、持续部署无缝结合;配合漏洞扫描、依赖分析等特性,是企业用于处理软件开发过程中产生的所有包类型的标准化工作间。 15 | 16 | ### [制品代理](#proxy) 17 | 18 | 每个 CODING 制品仓库可以作为其他仓库(外网远程制品仓库、制品源,及其他 CODING 制品仓库)的代理,使得用户可以在使用同一个仓库地址的场景下拉取其他仓库的制品,同时还能够将其他仓库的制品缓存至 CODING 制品仓库中。 19 | 20 | ### [制品元数据 ](#metadata) 21 | 22 | 制品自带的相关描述信息。 23 | 24 | ### [制品属性](#attributes) 25 | 26 | 制品在构建、质量检查、推拉、发布等生命周期过程中由外部写入的相关信息。 27 | 28 | ### [版本覆盖](#version-cover) 29 | 30 | 删除已有的制品版本,并推送相同版本名的新制品到制品仓库。 31 | 32 | ### [制品同步](#artifacts-sync) 33 | 34 | 跨系统间的制品流转,将制品推送至远程仓库,或从远程仓库拉取制品。 35 | 36 | ==== 2021/11/05 ==== 37 | -------------------------------------------------------------------------------- /source/admin/service-integration/cloud.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 绑定腾讯云 - CODING 帮助中心 3 | pageTitle: 绑定腾讯云 4 | pagePrevTitle: 权限配置 5 | pagePrev: admin/permission.html 6 | pageNextTitle: 绑定企业微信 7 | pageNext: admin/service-integration/wecom.html 8 | --- 9 | 10 | ### [功能介绍](#function) 11 | 12 | 点击团队首页右上角的齿轮图标 进入团队设置中心,点击「第三方应用」→「腾讯云」进行服务绑定。 13 | 14 | 绑定后,您可以无缝使用腾讯云 TCR、TKE 等云产品,获得更加流畅的 CODING DevOps 云端体验。仅团队创建者 / 管理员才能绑定腾讯云账号,团队成员无法主动绑定。 15 | 16 | ### [绑定腾讯云账号](#bind) 17 | 18 | 1. 团队管理员在页面右上角点击个人头像,进入「团队管理」->「服务集成」,在「腾讯云」选项中点击「绑定」按钮。 19 | 20 | ![](https://help-assets.codehub.cn/enterprise/20210930165516.png) 21 | 22 | 2. 选择使用邮箱+密码或微信扫码绑定。 23 | 24 | ![](https://help-assets.codehub.cn/enterprise/20210930165833.png) 25 | 26 | 3. 绑定成功。 27 | 28 | ![](https://help-assets.codehub.cn/enterprise/20210930170420.png) 29 | 30 | ==== 2021/08/02==== 31 | -------------------------------------------------------------------------------- /source/cd/question/trigger-fail.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 触发器错误 - CODING 帮助中心 3 | pageTitle: 触发器错误 4 | pagePrevTitle: 最佳实践——使用 CODING 持续部署的强大表达式 5 | pagePrev: cd/best-practice/expression-cd.html 6 | pageNextTitle: Kubernetes 云账号的最小权限要求 7 | pageNext: cd/question/min-authority.html 8 | alias: cd/question/FAQ.html 9 | --- 10 | 11 | ### [Git 仓库触发器错误](#git) 12 | 13 | 监听 Git 仓库中的分支更新作为部署流程的触发器,但触发失败。 14 | 15 | 你可以在分支名前需添加 `^refs/heads/` 参数并附上分支名,例如填写:`^refs/heads/master`。 16 | 17 | ![](https://help-assets.codehub.cn/enterprise/20211206112321.png) 18 | 19 | ### [TCR 触发器错误](#tcr) 20 | 21 | TCR 触发器配置存在问题,无法触发部署流程。 22 | 23 | 出现此问题的原因之一有可能是直接复制其他部署流程。直接复制后会将原有触发器进行取代,而并非重新生成触发器,将会导致触发器失效。你可以在腾讯云 TCR 控制台的「触发规则」与「触发日志」中查看问题详情。 24 | 25 | ![](https://help-assets.codehub.cn/enterprise/20211206113115.png) 26 | 27 | 若需直接复制某一流程,可以将两个流程的触发器删除后重新设置。 28 | 29 | ![](https://help-assets.codehub.cn/enterprise/20211206113249.png) 30 | 31 | ==== 2021/05/17 ==== 32 | -------------------------------------------------------------------------------- /source/admin/service-integration/feishu.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 绑定飞书 - CODING 帮助中心 3 | pageTitle: 绑定飞书 4 | pagePrevTitle: 绑定 TCTP 5 | pagePrev: admin/service-integration/tctp.html 6 | pageNextTitle: 访问审计 7 | pageNext: admin/access-audit.html 8 | alias: admin/enterprise-account/gitlab.html 9 | --- 10 | 11 | ### 功能介绍 12 | 13 | 若要从飞书中导入团队成员至 CODING,你需要完成以下三步: 14 | 15 | ### [1. 安装应用](#1) 16 | 17 | 飞书团队管理员在团队后台设置中安装「CODING 软件研发管理平台」应用。 18 | 19 | ### [2. 设置应用授权范围](#2) 20 | 21 | 设置成员授权范围,推荐选择整个团队。 22 | 23 | ### [3. 在 CODING 中绑定飞书](#3) 24 | 25 | 团队管理员点击团队首页右上角的齿轮图标 进入团队设置中心,点击进入「第三方应用」→「飞书」。 26 | 27 | ![](https://help-assets.codehub.cn/enterprise/20210927162309.png) 28 | 29 | 跳转至授权页面,确认授权后即可完成绑定。 30 | 31 | ![](https://help-assets.codehub.cn/enterprise/20210927162531.png) 32 | 33 | 完成绑定后,点击此处了解如何[导入飞书成员](/docs/admin/member/feishu.html)。 34 | 35 | ==== 2021/09/27 ==== 36 | -------------------------------------------------------------------------------- /source/cd/host-deploy/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 主机部署介绍 - CODING 帮助中心 3 | pageTitle: 主机部署介绍 4 | pagePrevTitle: 部署(Manifest)阶段 5 | pagePrev: cd/pipe/stages/deploy.html 6 | pageNextTitle: 主机组 7 | pageNext: cd/host-deploy/host-group.html 8 | --- 9 | 10 | ### 功能介绍 11 | 12 | 主机部署提供了基于物理机/虚拟机 的通用部署能力,支持将应用部署到公有云、混合云、私有云/私有环境中。主机部署是早期软件开发里常见、常用的部署方式,但随着 Docker、Kubernetes 的兴起,针对此类部署方式的支持也愈加稀少。因此一套整合了代码、制品、部署的整套流程更是屈指可数。如今 CODING CD 推出的主机组部署功能,正好能够弥补上这个缺口,让这种看似“原始”的方式也能加入进 DevOps 环中。点击阅读最佳实践——[《CODING CD 主机组部署实践》](/docs/best-practices/cd/host-group.html) 13 | 14 | ### 相关概念 15 | 16 | - 堡垒机 17 | 18 | 堡垒机是 CODING 持续部署服务与主机之间的代理,CODING CD 通过堡垒机上运行的 Agent 服务管控应用发布过程。 19 | 20 | - 主机组 21 | 22 | 主机组是主机实例的集合,通常一个主机组对应应用的一个发布集群(测试集群、预发集群、生产集群) 23 | 24 | - 服务 25 | 26 | CODING 持续部署抽象的概念。在部署(主机组)阶段需要定义本阶段部署的服务名称,CODING CD 基于此服务名实现版本管理和回滚。 27 | 28 | ### 架构图 29 | 30 | ![](https://help-assets.codehub.cn/enterprise/20201224160225.png) 31 | 32 | ==== 2020/12/24 ==== 33 | -------------------------------------------------------------------------------- /themes/coding-help/layout/partials/base.pug: -------------------------------------------------------------------------------- 1 | doctype html 2 | html(lang="zh-cmn-Hans") 3 | 4 | include head.pug 5 | 6 | body 7 | .help_container 8 | block header 9 | include help-header 10 | block main 11 | //- .helpContainer 12 | block left 13 | //- include navigation 14 | block content 15 | block footer 16 | != footer() 17 | script(src="/docs/js/jquery.min.js") 18 | script(src="/docs/js/algoliasearch.min.js") 19 | script(src="/docs/js/autocomplete.min.js") 20 | script(src="/docs/js/highlight.pack.js") 21 | script(src="/docs/js/highlightjs-line-numbers.min.js") 22 | script(src="/docs/js/clipboard.min.js") 23 | script(src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js") 24 | script(src="/docs/js/medium-zoom.min.js") 25 | script(src="/docs/js/dayjs.min.js") 26 | script 27 | include base.js 28 | != footerJS() 29 | -------------------------------------------------------------------------------- /source/admin/watermark.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 水印设置 - CODING 帮助中心 3 | pageTitle: 水印设置 4 | pagePrevTitle: 登录设置 5 | pagePrev: admin/login.html 6 | pageNextTitle: 日志 7 | pageNext: admin/security-log.html 8 | alias: settings/global/secure/watermark.html 9 | --- 10 | 11 | > 此功能为高级版付费功能,欢迎前往[价格页](https://coding.net/pricing)进行服务订购。 12 | 13 | ### [功能介绍](#intro) 14 | 15 | 为了有效减少内容外泄风险,开启水印功能后,团队成员登录敏感功能页面时将会显示其账号信息。 16 | 17 | 点击页面右上角的齿轮图标 进入团队设置中心,点击「安全性」→「水印设置」进入设置界面。 18 | 19 | ![](https://help-assets.codehub.cn/enterprise/20210928154921.png) 20 | 21 | 你可以勾选在何种产品页面中开启访问者水印。 22 | 23 | ![](https://help-assets.codehub.cn/enterprise/20210928154539.png) 24 | 25 | 访问事项描述的水印效果: 26 | 27 | ![](https://help-assets.codehub.cn/enterprise/20200716144458.png) 28 | 29 | 访问 Wiki 内容的水印效果: 30 | 31 | ![](https://help-assets.codehub.cn/enterprise/20200716145338.png) 32 | 33 | ==== 2021/09/28 ==== 34 | -------------------------------------------------------------------------------- /source/project-settings/switch.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 项目内功能开关 - CODING 帮助中心 3 | pageTitle: 项目内功能开关 4 | pagePrevTitle: Markdown 模板功能 5 | pagePrev: project/features/markdown-template.html 6 | pageNextTitle: 项目基本设置 7 | pageNext: project/basis/settings.html 8 | alias: project/features/switch.md 9 | --- 10 | 11 | ### 产品功能介绍 12 | 13 | 项目管理员可根据团队协作场景,自由组织和配置项目内各功能模块开关。当关闭功能模块开关后,菜单将隐藏功能模块入口,成员无法访问该模块和数据。但已产生的数据或已配置的触发规则不受影响。当再次开启功能模块开关时,即可恢复至开关关闭前的状态。 14 | 15 | ### 功能说明 16 | 17 | 项目管理员可在【项目设置】->【项目与成员】->【功能开关】中根据所需工作场景,关闭/开启某些功能模块开关。 18 | 19 | ![](https://help-assets.codehub.cn/enterprise/20191230153815.png) 20 | 21 | ### 功能演示 22 | 23 | 1. 若项目管理员在【项目设置】->【项目与成员】->【功能开关】中关闭【项目协同】功能模块的开关。 24 | 25 | ![](https://help-assets.codehub.cn/enterprise/20191230153929.png) 26 | 27 | 2. 项目内所有成员在左侧功能菜单中将无法看到【项目协同】该功能选项。(已隐藏的功能所产生的数据及已配置的触发规则不受影响,当开关开启时,隐藏的功能将恢复至关闭前的状态。) 28 | 29 | ![](https://help-assets.codehub.cn/enterprise/20191230154047.png) 30 | 31 | ==== 2020/09/23 ==== 32 | -------------------------------------------------------------------------------- /source/repo/mr-review/mr-set.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 调整合并请求设置 - CODING 帮助中心 3 | pageTitle: 调整合并请求设置 4 | pagePrevTitle: 分支管理——使用 cherry-pick 功能 5 | pagePrev: repo/branch/cherry-pick.html 6 | pageNextTitle: 合并分支 7 | pageNext: repo/mr-review/mr.html 8 | --- 9 | 10 | 项目管理员可以在代码仓库的「设置」->「合并请求」页面设置合并请求的基础设置、默认的合并方式与目标分支。 11 | 12 | ![](https://help-assets.codehub.cn/enterprise/20210813144159.png) 13 | 14 | ### [是否默认删除源分支](#delete-source-branch) 15 | 16 | 如果开启此项开关,那么当发起请求的源分支被并入至目标分支后,源分支会被自动删除。 17 | 18 | ### [是否默认以 Fast-Forward 模式合并](#fast-forward) 19 | 20 | 如果该功能开启,那么当源分支是目标分支的直接上游时,合并会以 Fast-Forward 的模式进行,即源分支会直接指向目标分支,而不会产生一个合并提交。 21 | 22 | ### [合并方式](#merge-method) 23 | 24 | 当源分支有多个提交的时候,我们会提供三种合并模式: 25 | 26 | - 默认直接合并:会产生一个合并提交 27 | - 默认 Squash 合并:会把源分支的多个提交合并成一个提交,用户可以取消这个行为 28 | - 只能 Squash 合并:强制把源分支的多个提交合并成一个提交,用户不能取消 29 | 30 | ### [默认目标分支](#default-branch) 31 | 32 | 指定了默认分支之后,在创建合并请求时会自动填充该分支为目标分支。建议使用主干分支为合并请求的默认目标分支。 33 | 34 | ==== 2021/11/16 ==== 35 | -------------------------------------------------------------------------------- /source/ci/glossary.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 词汇表 - CODING 帮助中心 3 | pageTitle: 词汇表 4 | pagePrevTitle: 持续集成与制品库 5 | pagePrev: ci/faq/artifacts.html 6 | --- 7 | 8 | ### 持续集成 9 | 10 | 从广义而言,持续集成是业界通用的概念。而对于 CODING DevOps 而言,持续集成是一个功能,常用于执行自动化任务。 11 | 12 | ### 构建计划 13 | 14 | 构建计划是持续集成功能的基本单位。你可以在构建计划中详细配置构建计划的代码源、配置过程、触发规则、环境变量、通知提醒等信息。在后续使用过程当中,按照既定的规则触发该计划,从而实现自动化的流水线构建。 15 | 16 | ![](https://help-assets.codehub.cn/enterprise/20210913172812.png) 17 | 18 | ### 构建任务 19 | 20 | 构建计划在配置完成后的每次执行,都将会产生一个具体的构建任务。您可以查看每个构建任务的构建过程、改动记录、测试报告、构建产物、构建快照等执行信息。 21 | 22 | ![](https://help-assets.codehub.cn/enterprise/20210913180412.png) 23 | 24 | ### Jenkinsfile 25 | 26 | Jenkinsfile 定义了持续集成中的工作流水线(pipeline),其不仅实现了对步骤的流式化封装和管理,也是持续集成中的基本功能单位。流水线可以顺序执行,也可以并行执行。 27 | 28 | ![](https://help-assets.codehub.cn/enterprise/20210913175516.png) 29 | 30 | ### 构建节点 31 | 32 | 用以执行构建任务的计算资源 / 服务器资源,分为[默认构建节点](/docs/ci/node/type.html)与自定义构建节点两种类型。默认构建节点为 CODING 官方提供;[自定义构建节点](/docs/ci/node/type.html)需手动接入至节点池后再用于构建任务。 33 | -------------------------------------------------------------------------------- /source/qci/compared.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 持续集成引擎的对比 - CODING 帮助中心 3 | pageTitle: 产品优势 4 | pagePrevTitle: 产品简介 5 | pagePrev: qci/intro/ci.html 6 | pageNextTitle: 自研引擎优势 7 | pageNext: ci/start.html 8 | sitemap: false 9 | --- 10 | 11 | CODING 持续集成功能自推出以来,不断根据用户需求打磨产品。随着自研引擎的成功研发与内部实践经验积累,现面向全体用户推出全新版本的持续集成。以下是新旧版本的部分功能对比,你可以按需选择符合项目实际开发需求的持续集成版本。 12 | 13 | | 功能列表 | 旧版引擎 | 新版引擎 | 14 | |----------|-----------------------|---------------------| 15 | | 构建过程配置文件 | Jenkinsfile | CIFile | 16 | | 构建过程 | 串联运行,中途某个一个环节失败后会直接终止构建 | 分布式运行,各个构建环节独立工作 | 17 | | 构建时长控制 | 无法控制某项阶段的运行时长 | 支持设置超时条件,管控任务时长。 | 18 | |环境变量|不支持分组|支持按主干或分支分组| 19 | |触发规则|代码源触发、定时触发与 API 触发|Webhook 触发、定时触发与版本号触发| 20 | |版本管理|不支持记录构建版本|支持对构建任务施行版本号管理策略| 21 | |日志展示|全量展示|支持快速跳转与分段展示| 22 | |任务变更|不支持查看变更记录|支持查看变更记录| 23 | |插件能力|支持|支持| 24 | |自定义构建节点接入|支持|不支持| 25 | |构建缓存|支持|不支持| 26 | 27 | 请参考[产品优势](/docs/qci/intro/advantage.html)了解更多关于新版本持续集成的全新功能点。 28 | 29 | 30 | ==== 2021/08/17 ==== 31 | -------------------------------------------------------------------------------- /source/repo/svn/create.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 创建 SVN 仓库 - CODING 帮助中心 3 | pageTitle: 创建 SVN 仓库 4 | pagePrevTitle: 代码仓库管理——通过本地命令行管理仓库 5 | pagePrev: repo/manage/cli.html 6 | pageNextTitle: 访问 SVN 仓库 7 | pageNext: repo/svn/access.html 8 | alias: 9 | - host/svn.html 10 | - repo/svn.html 11 | --- 12 | 13 | 目前 CODING 已支持原生的 SVN 仓库,客户端通过 SVN+SSH 协议连接到 CODING 的服务器,数据传输全程走 SSH 加密通道。 14 | 15 | 16 | 1. 进入一个项目之后,点击左侧导航栏「代码仓库」进入代码仓库管理页面。 17 | 18 | 2. 点击页面右上角「创建代码仓库」,选择仓库类型为「SVN 仓库」。 19 | 20 | ![](https://help-assets.codehub.cn/enterprise/20210907141727.png) 21 | 3. 选择 `创建 SVN 仓库推荐布局` 时,将会自动创建 `tags` `branches` `trunk` 三个目录。这是多数 SVN 仓库的推荐目录布局。 22 | 23 | 仓库初始化完成之后,即可在代码浏览界面看到 SVN 仓库的内容。 24 | 25 | ![](https://help-assets.codehub.cn/enterprise/20200326150742.png) 26 | 27 | 在「代码浏览」界面可以看到这个仓库的 SVN 地址:`svn://subversion.e.coding.net/StrayBirds/svn`: 28 | 29 | ![](https://help-assets.codehub.cn/enterprise/20200326150903.png) 30 | 31 | > 注:目前只支持在创建项目中开启 SVN 仓库,不支持在 Git 仓库中新建 SVN 仓库。 32 | 33 | ==== 2021/11/07 ==== 34 | -------------------------------------------------------------------------------- /themes/coding-help/source/images/book-icons/metric.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | metric 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /source/cd/pipe/env.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 环境变量 - CODING 帮助中心 3 | pageTitle: 环境变量 4 | pagePrevTitle: 表达式 5 | pagePrev: cd/pipe/expressions.html 6 | pageNextTitle: 制品配置 7 | pageNext: cd/pipe/artifacts.html 8 | --- 9 | 10 | ### [功能介绍](#intro) 11 | 12 | 部署流程中支持填写启动参数与自定义变量,你可以通过此功能将一些敏感数据,例如账号与密码,以变量的方式注入至部署流程中,保证数据安全。 13 | 14 | ### [启动参数](#start-parameter) 15 | 16 | 前往部署流程,在基础配置中填写启动参数名称与默认值。如下图所示定义 TEST 参数: 17 | 18 | ![](https://help-assets.codehub.cn/enterprise/20211206110031.png) 19 | 20 | 在运行脚本中以固定格式进行引用:`${parameters.变量名}` 21 | 22 | ![](https://help-assets.codehub.cn/enterprise/20211206110435.png) 23 | 24 | 运行部署流程,在输出日志中就可以查看输出结果。 25 | 26 | ![](https://help-assets.codehub.cn/enterprise/20211206110630.png) 27 | 28 | ### [自定义变量](#customize-parameter) 29 | 30 | 选择「自定义变量」阶段后进行定义。例如将自定义变量设为 HELLO: 31 | 32 | ![](https://help-assets.codehub.cn/enterprise/20211206111237.png) 33 | 34 | 在后续流程中使用 `${HELLO}` 参数进行调用,输出结果如下: 35 | 36 | ![](https://help-assets.codehub.cn/enterprise/20211206111330.png) 37 | 38 | ==== 2021/12/06 ==== 39 | -------------------------------------------------------------------------------- /source/qci/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 产品简介 - CODING 帮助中心 3 | pageTitle: 产品简介 4 | pagePrevTitle: 持续集成简介 5 | pagePrev: qci/intro/ci.html 6 | pageNextTitle: 快速开始 7 | pageNext: ci/start.html 8 | --- 9 | 10 | ![](https://help-assets.codehub.cn/enterprise/20210913151706.png) 11 | 12 | 13 | 当我们提交了一部分修改完成的代码后,我们总是希望可以快速、持续地得到直观且有效的反馈,以达到持续快速交付的目的。在平时的工程中,总有一部分工作是相对机械化,易出错的(例如打包、部署),把这部分工作交给机器来做,形成自动化**流水线**。我们仅需要轻轻地点一下鼠标,起身泡杯咖啡。只需将部署发布等繁琐事宜放心的交由自动化流水线,便能够快速得到输出结果,轻松完成工作。 14 | 15 | ### [功能标识](#remark) 16 | 17 | 持续集成的核心组成是构建计划,构建计划内相关按钮的说明: 18 | 19 | ![](https://help-assets.codehub.cn/enterprise/20200925103457.png) 20 | 21 | 将鼠标移至图表上将会悬浮展示该按钮的详细说明。 22 | 23 | ![](https://help-assets.codehub.cn/enterprise/20200924180955.png) 24 | 25 | 在构建记录页面中,用户还可以更方便地设置构建计划和筛选构建记录。 26 | 27 | ![](https://help-assets.codehub.cn/enterprise/20200925105956.png) 28 | 29 | 在单条构建记录中,可以通过链接快速定位到构建分支和修订版本,在「快速查看」区域,您也可以通过链接查看构建过程、构建快照和改动记录。 30 | 31 | ![](https://help-assets.codehub.cn/enterprise/20200925110131.png) 32 | 33 | 34 | ==== 2021/08/04 ==== 35 | -------------------------------------------------------------------------------- /source/artifacts/quick-start/basic.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 基础操作 - CODING 帮助中心 3 | pageTitle: 基础操作 4 | pagePrevTitle: 制品库介绍 5 | pagePrev: artifacts/manual.html 6 | pageNextTitle: 使用 Docker 制品库 7 | pageNext: artifacts/quick-start/docker.html 8 | --- 9 | 10 | 在正式进行制品库的操作前,您可以参考以下内容进行功能初始化。下述的步骤与准备并非必须选项,可以按照实际需求有选择性地阅读。 11 | 12 | ### [创建项目](#create) 13 | 14 | 使用制品仓库前需新建项目,选择「DevOps 项目」。 15 | 16 | ![](https://help-assets.codehub.cn/enterprise/20210115173833.png) 17 | 18 | 填写名称等关键信息,创建完成后可在左侧菜单中进入制品仓库功能。若功能被隐藏,则需点击左下角的【项目设置】->【功能开关】开启制品库按钮。 19 | 20 | ### [新建制品仓库](#new) 21 | 22 | 进入制品仓库后选择仓库类型。 23 | 24 | - 提供一个仓库名称 25 | - 选择制品仓库类型 26 | - 权限范围: 决定当前创建的制品仓库对不同类型角色的操作权限,默认将对当前项目成员开放**推送**和**拉取**操作。 27 | - 准备就绪,点击「确认新建」 28 | 29 | ![](https://help-assets.codehub.cn/enterprise/20210115175832.png) 30 | 31 | 创建制品仓库后,你可以在左侧文档目录列表参考各制品类型的快速开始。 32 | 33 | ### [删除制品仓库](#delete) 34 | 35 | 点击右侧 tab 栏的「仓库管理」,点击任意仓库中的「设置仓库」按钮,在基本信息中进行删除操作。 36 | 37 | ![](https://help-assets.codehub.cn/enterprise/20210922143749.png) 38 | 39 | ==== 2021/09/22 ==== 40 | -------------------------------------------------------------------------------- /source/cd/host-deploy/host-group.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 主机组 - CODING 帮助中心 3 | pageTitle: 主机组 4 | pagePrevTitle: 堡垒机 5 | pagePrev: cd/host-deploy/bastion-host.html 6 | pageNextTitle: 堡垒机 Agent 7 | pageNext: cd/host-deploy/cloud-agent.html 8 | --- 9 | 10 | ### 功能介绍 11 | 12 | 主机组是主机实例的集合,通常一个主机组对应应用的一个发布集群(测试集群、预发集群、生产集群)。 13 | 14 | 点击团队首页右上角的齿轮图标 进入团队设置中心,你可以在「功能设置」→「主机组」中进行管理。 15 | 16 | ![](https://help-assets.codehub.cn/enterprise/20211013194218.png) 17 | 18 | ### 添加主机组 19 | 20 | | 表单名 | 说明 | 21 | | ---------- | ------------------------------------------------------------ | 22 | | 堡垒机 | 此主机组绑定的堡垒机,堡垒机与主机组是一对多的关系 | 23 | | 主机组名称 | 支持中文、字母、中划线和下划线 | 24 | | 认证方式 | 堡垒机和主机实例之间的通信支持 `密码` 和 `密钥` 两种认证方式 | 25 | | 标签 | 自定义字段;可用于标识主机组所在地域,分类等信息 | 26 | | 实例 IP | 主机实例的 IP,多个 IP 地址换行填写 | 27 | 28 | ==== 2020/12/24 ==== 29 | -------------------------------------------------------------------------------- /source/compass/workflow/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 功能介绍 - CODING 帮助中心 3 | pageTitle: 功能介绍 4 | pagePrevTitle: 产品简介 5 | pagePrev: compass/intro.html 6 | pageNextTitle: 快速开始 7 | pageNext: compass/workflow/start.html 8 | alias: compass/workflow.html 9 | sitemap: false 10 | --- 11 | 12 | Compass 工作流是企业级 DevOps 全过程的微观透视。 13 | 14 | ### [功能介绍](#what-is-step) 15 | 16 | 项目管理员可针对特定类型的事项(如需求),定义该类型事项在项目内推进时需经历的完整工作流程,并以此为基准,观测项目成员实际开展的研发活动。 17 | 18 | 借助工作流的数据统计,项目管理员可随时查看事项流转过程中各个步骤的平均耗时,识别流程中滞留时间较长或存在阻塞的环节,并以此为依据持续改进 DevOps 流程,提高项目运转的效率。 19 | 20 | >目前,工作流功能只适用于 [Scrum 敏捷管理模式](/docs/collaboration/pattern/scrum/intro.html)的项目。 21 | 22 | ### [基本概念](#basic-concept) 23 | 24 | 在使用工作流功能之前,你需要了解以下常用概念。 25 | 26 | * **步骤**:工作流的最小组成部分。每一个步骤均有特定的开始事件(不可修改),在开始事件被触发后即开始运转,直至下一步骤被触发时结束。 27 | 28 | * **工作流**:由不同的步骤编排而成的流程,支持并行与串行步骤。每一种事项类型只支持配置一条工作流。 29 | 30 | * **运行记录**:工作流的运行实例,映射了一个事项的工作流运行情况。 31 | 每创建一个事项,会产生一条运行记录,两者为 1:1 的对应关系。 32 | 33 | 34 | ![](https://help-assets.codehub.cn/enterprise/20211103175121.png) 35 | 36 | 37 | 38 | ==== 2021/11/03 ==== 39 | -------------------------------------------------------------------------------- /source/workload/permission.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 权限配置 - CODING 帮助中心 3 | pageTitle: 权限配置 4 | pagePrevTitle: 项目集管理 5 | pagePrev: project-set/manage.html 6 | --- 7 | 8 | 仅部门负责人具备观测成员工作负载的权限,所设置的成员分组无法分享至其他部门负责人。针对不同的类型的团队有以下设置方式: 9 | 10 | ### [CODING 自组织团队](#coding-self-manage) 11 | 12 | 指的是仅在 CODING 团队中自行创建的部门,通常情况下由邮箱或链接邀请团队成员,未通过任何第三方应用导入成员。由团队所有者 / 团队管理员点击团队首页右上角的齿轮图标 进入团队设置中心,点击「成员管理」→「部门菜单按钮」设置负责人。 13 | 14 | ![](https://help-assets.codehub.cn/enterprise/20211228153534.png) 15 | 16 | 若还没有创建部门,请参考阅读[创建部门](/docs/admin/member/organization.html#create),创建部门后需[将成员添加至部门](/docs/admin/member/members-organization.html#set-department),再为部门设置负责人。 17 | 18 | ### [企业微信组织架构团队](#wechat-import) 19 | 20 | 若您的 CODING 团队的组织架构由[企业微信导入](/docs/admin/member/wecom.html),那么企业微信通讯录中的部门负责人自动具备工作负载功能访问权限。企业微信管理员可以前往[企业微信后台](https://work.weixin.qq.com/wework_admin/frame#contacts)开关此权限。 21 | 22 | ![](https://help-assets.codehub.cn/enterprise/20211229160133.png) 23 | 24 | ==== 2021/12/29 ==== 25 | -------------------------------------------------------------------------------- /source/okr/best-practices.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 最佳实践 - CODING 帮助中心 3 | pageTitle: 最佳实践 4 | pagePrevTitle: 快速入门 5 | pagePrev: okr/okr.html 6 | pageNextTitle: 词汇表 7 | pageNext: okr/glossary.html 8 | alias: pro/best-practices.html 9 | --- 10 | 11 | 在 OKR 的协作体系下,企业 Leader 能够清晰的通过团队目标管理页查看跨团队之间为了达成网站上线这个目标所作出的努力。更重要的是,一个创意落地具象为一个个事项,这与一线的协作体系是高度兼容匹配的。 12 | 13 | 而一线人员关注的视角也不仅限于沟通客户与部署源代码这样的日常琐事,更是意识到了为了实现总目标所需要的自身职责,贴合实际,灵活应变。毫无疑问,上下齐发并进的协作模式会让团队变得更加积极主动,而且更愿意挑战难题。 14 | 15 | CODING 准备了以下几篇团队目标管理(OKR)最佳实践文章以供学习参考: 16 | 17 | - [《敏捷绩效管理三剑客:OKR 、KPI、CFR》](https://help.coding.net/insight/posts/ea45ccf0/):不少企业管理者在使用传统绩效指标考核方式时,往往会遇到各种问题导致团队协作困难、甩锅挖坑。本文将详解 OKR、KPI、CFR,以期帮助企业激发人才潜力和组织战斗力,提供持续的工作动力。 18 | 19 | - [《OKR 八问 —— 关于 OKR 的常见问题与思考》](https://help.coding.net/insight/posts/daba57c8/):本文将以 CODING OKR 为例,阐述大多数企业在推行 OKR 时会遇到的问题及思考,助力企业拥有一个充满机动性与高效能的团队。 20 | 21 | - [《基于 CODING OKR 落地敏捷团队目标管理》](https://help.coding.net/insight/posts/36cb73f3/):初次落地 OKR 的团队如果无法理解 OKR 理念,那么 OKR 很有可能成为另一个 KPI 工具。本文将基于 CODING OKR,带领团队完成一个典型的季度 OKR 周期流程,让团队能够快速上手 OKR 并指导工作。 22 | 23 | ==== 2021/08/23 ==== 24 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/mono-blue.css: -------------------------------------------------------------------------------- 1 | /* 2 | Five-color theme from a single blue hue. 3 | */ 4 | .hljs { 5 | display: block; 6 | overflow-x: auto; 7 | padding: 0.5em; 8 | background: #eaeef3; 9 | } 10 | 11 | .hljs { 12 | color: #00193a; 13 | } 14 | 15 | .hljs-keyword, 16 | .hljs-selector-tag, 17 | .hljs-title, 18 | .hljs-section, 19 | .hljs-doctag, 20 | .hljs-name, 21 | .hljs-strong { 22 | font-weight: bold; 23 | } 24 | 25 | .hljs-comment { 26 | color: #738191; 27 | } 28 | 29 | .hljs-string, 30 | .hljs-title, 31 | .hljs-section, 32 | .hljs-built_in, 33 | .hljs-literal, 34 | .hljs-type, 35 | .hljs-addition, 36 | .hljs-tag, 37 | .hljs-quote, 38 | .hljs-name, 39 | .hljs-selector-id, 40 | .hljs-selector-class { 41 | color: #0048ab; 42 | } 43 | 44 | .hljs-meta, 45 | .hljs-subst, 46 | .hljs-symbol, 47 | .hljs-regexp, 48 | .hljs-attribute, 49 | .hljs-deletion, 50 | .hljs-variable, 51 | .hljs-template-variable, 52 | .hljs-link, 53 | .hljs-bullet { 54 | color: #4c81c9; 55 | } 56 | 57 | .hljs-emphasis { 58 | font-style: italic; 59 | } 60 | -------------------------------------------------------------------------------- /source/admin/service-integration/tctp.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 绑定 TCTP - CODING 帮助中心 3 | pageTitle: 绑定 TCTP 4 | pagePrevTitle: 绑定 LDAP 5 | pagePrev: admin/service-integration/ldap.html 6 | pageNextTitle: 安全性——访问审计 7 | pageNext: admin/access-audit.html 8 | --- 9 | 10 | ### [功能介绍](#intro) 11 | 12 | 若要从 TCTP(腾讯城市技术平台)中导入成员,需按照本文指引绑定 TCTP。 13 | 14 | ### [绑定 TCTP](#bind) 15 | 16 | 1. 团队管理员点击团队首页右上角的齿轮图标 进入团队设置中心,点击「第三方应用」→「TCTP」进行服务绑定。 17 | 18 | ![](https://help-assets.codehub.cn/enterprise/20210930172934.png) 19 | 20 | 2. 登录 TCTP 后,进入 「我的团队」-> 「团队管理」,复制团队 Token。 21 | 22 | ![](https://help-assets.codehub.cn/enterprise/20210812184454.png) 23 | 24 | 3. 弹出弹窗后,按页面提示输入团队令牌,点击提交后,将跳转到 TCTP 进行授权认证。 25 | 26 | ![](https://help-assets.codehub.cn/enterprise/20210930173009.png) 27 | 28 | 4. 认证回调完成后,「团队管理」->「服务集成」-> 「TCTP」将显示已绑定。 29 | 30 | ![](https://help-assets.codehub.cn/enterprise/20210930173100.png) 31 | 32 | 绑定后点击[此处](/docs/admin/member/tctp.html)了解如何从 TCTP 导入成员。 33 | 34 | ==== 2021/08/12 ==== 35 | -------------------------------------------------------------------------------- /themes/coding-help/source/images/icons/back.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icons/back 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /source/test-management/cases/requirements.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 关联需求 - CODING 帮助中心 3 | pageTitle: 关联需求 4 | pagePrevTitle: 创建用例 5 | pagePrev: test-management/cases/create.html 6 | pageNextTitle: 用例评审 7 | pageNext: test-management/cases/review.html 8 | --- 9 | 10 | ### [功能介绍](#intro) 11 | 12 | 在常见的测试管理场景下,通常需要根据产品需求创建测试用例并圈选组成测试计划。测试用例与需求之间支持相互关联功能,一个测试用例只能同时关联一则需求;一则需求可以同时关联多个测试用例。 13 | 14 | ### [测试用例关联需求](#case-allocate-requirement) 15 | 16 | 创建测试用例时,点击右上角的「关联需求」,选择任意一个需求进行关联。一条用例仅支持关联一则需求。 17 | 18 | ![](https://help-assets.codehub.cn/enterprise/20210111111754.png) 19 | 20 | 若要修改已关联的需求,需取消原需求后再关联新的需求。 21 | 22 | ![](https://help-assets.codehub.cn/enterprise/20210111112048.png) 23 | 24 | 你可以通过用例列表右上角的「批量操作」一次性将多个测试用例关联至同一需求。若勾选的用例已有关联需求,会自动解除并关联至至新的需求。 25 | 26 | ![](https://help-assets.codehub.cn/enterprise/20210909144731.png) 27 | 28 | ### [需求关联测试用例](#require-allocate-case) 29 | 30 | 1. 在项目中点击左侧导航栏「项目协同」,进入项目事项管理页面。 31 | 2. 在「需求」页签,点击任一需求,即可在其编辑页中「关联测试用例」。一个需求支持关联多个测试用例。 32 | 33 | ![](https://help-assets.codehub.cn/enterprise/20210513140307.png) 34 | 35 | 36 | ==== 2021/09/09 ==== 37 | -------------------------------------------------------------------------------- /themes/coding-help/layout/partials/algoliasearch-init.js: -------------------------------------------------------------------------------- 1 | ;(function () { 2 | var client = algoliasearch('9488ENB81Z', '8cd7d4251ad9bcd7d471b8b10e5e9d88') 3 | var index = client.initIndex('coding-help-master') 4 | 5 | autocomplete('#headerSearchInput', { 6 | hint: false, 7 | autoselect: true, 8 | }, { 9 | source: autocomplete.sources.hits(index, { 10 | hitsPerPage: 5, 11 | }), 12 | //value to be displayed in input control after user's suggestion selection 13 | displayKey: function (suggestion) { 14 | return suggestion.title 15 | }, 16 | //hash of templates used when rendering dataset 17 | templates: { 18 | suggestion: function (suggestion) { 19 | return `${suggestion.title}` 20 | }, 21 | empty: function () { 22 | return '无相关搜索结果' 23 | }, 24 | }, 25 | }).on('autocomplete:selected', function (event, suggestion, dataset) { 26 | window.location.href = suggestion.permalink 27 | }) 28 | 29 | })() 30 | -------------------------------------------------------------------------------- /source/qci/pipeline/branch-monitor.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 分支监控 - CODING 帮助中心 3 | pageTitle: 分支监控 4 | pagePrevTitle: 持续集成简介 5 | pagePrev: qci/intro/ci.html 6 | pageNextTitle: 快速开始 7 | pageNext: ci/start.html 8 | sitemap: false 9 | --- 10 | 11 | CODING-CI 可以在任务上配置多个分支,当这些分支做 CI、MR 等操作时都会触发任务的执行。 12 | 13 | ### 新建和编辑任务时选择多个分支 14 | 15 | 在新建或编辑界面上,分支列表会从 GIT 库中获取所有分支供用户选择,用户也可以填写正则表达式进行匹配。 16 | 17 | ![](https://help-assets.codehub.cn/enterprise/20211026105907.png) 18 | 19 | **注意:写正则表达式请在开始和结尾处使用/, 例如:/\d+/** 20 | 21 | 设置多分支后,CI、MR 等操作,只要是匹配到了设置的分支,均为触发任务 22 | 23 | ![](https://help-assets.codehub.cn/enterprise/20211026105653.png) 24 | 25 | ### 定时触发支持多分支 26 | 27 | 在新建或编辑界面上,定时触发可以设置多个触发条件 28 | 29 | ![定时触发](../../_static/muti_branch_2.png) 30 | 31 | **注意:选择的分支上必须存在配置的 CIFile** 32 | 33 | ### 支持启动任务时指定分支 34 | 35 | 启动任务时,可以从所有分支的下拉列表中,选择某一个分支进行启动 36 | 37 | 为方便使用,CODING-CI 会将用户配置的多分支监控的第一个分支(正则匹配的表达式除外)做为默认值,同时,会把用户配置的分支(正则匹配的表达式除外)做为优先的分组放在前面,供用户快速选择 38 | 39 | ![](https://help-assets.codehub.cn/enterprise/20211026105716.png) 40 | 41 | **注意:选定的分支上也必须存在配置的 CIFile** 42 | 43 | ==== 2021/10/26 ==== 44 | -------------------------------------------------------------------------------- /themes/coding-help/source/images/icons/check.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icons/check 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /themes/coding-help/source/images/book-icons/dashboard.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | dashboard 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | on: 3 | pull_request: 4 | branches: 5 | - master 6 | 7 | jobs: 8 | build: 9 | name: Build 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Setup Node 13 | uses: actions/setup-node@v2 14 | with: 15 | node-version: '14' 16 | 17 | - name: Checkout 18 | uses: actions/checkout@v2 19 | 20 | # @coding-operation/public-component-web is a private package. 21 | # remove all packages, or install would fail. 22 | - name: Prepare 23 | run: | 24 | rm package.json yarn.lock 25 | yarn add lint-md-cli remark-cli remark-preset-lint-recommended fnlint 26 | 27 | - name: Get Diff Action 28 | uses: technote-space/get-diff-action@v4.0.1 29 | with: 30 | PATTERNS: | 31 | source/**/*.md 32 | *.md 33 | 34 | - name: Lint 35 | if: env.GIT_DIFF 36 | run: | 37 | yarn remark -f ${{ env.GIT_DIFF }} 38 | yarn lint-md ${{ env.GIT_DIFF }} 39 | yarn fnlint -c .fnlint.json 40 | -------------------------------------------------------------------------------- /themes/coding-help/source/images/icons/arrow-down-blue.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icons/arrow-down-blue 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /source/qci/cifile/stage-task/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 示例文件参考 - CODING 帮助中心 3 | pageTitle: 示例文件参考 4 | sitemap: false 5 | --- 6 | 7 | 本文档用于说明 CIFile 里可能会用到的 artifacts、cache、temps、status 等涉及到文件路径的关键字配置格式。 8 | 9 | ### 配置格式 10 | 11 | - 路径支持两种配置方式,路径通配符和正则表达式 12 | 13 | - 路径中支持环境变量,使用方式和执行平台下环境变量的使用方式一致,如: 14 | 15 | -linux 平台:**${环境变量名}** 16 | 17 | - 示例1:A/${BUILD_ID}/* 18 | 19 | - 示例2:A/release_${BUILD_ID}/* 20 | 21 | -windows 平台:**%环境变量名%** 22 | 23 | - 示例1:A\\%BUILD_ID%\\* 24 | 25 | - 示例2:A\\release_%BUILD_ID%\\* 26 | 27 | - cache 仅支持目录配置,不支持指定文件 28 | 29 | ### 匹配策略 30 | 31 | - 优先使用路径通配符方式匹配,匹配不到则使用正则匹配 32 | 33 | - 匹配均**在 cmd 执行的根目录 QCI_WORKSPACE 下**执行 34 | 35 | ### 配置示例 36 | 37 | - 路径通配符: 38 | 39 | -A/* 40 | 41 | - ${QCI_WORKSPACE}/A 目录中的所有文件 42 | 43 | -A/B/*.apk: 44 | 45 | - ${QCI_WORKSPACE}/A/B 目录中以.apk结尾的所有文件 46 | 47 | -d*.apk: 48 | 49 | - $QCI_WORKSPACE目录下,文件名以 d 开头,以.apk结尾的文件 50 | 51 | - 正则表达式: 52 | 53 | -A/.* 54 | 55 | - ${QCI_WORKSPACE}/A 目录下、以及其子目录下的所有文件 56 | 57 | 58 | ==== 2021/08/04 ==== 59 | -------------------------------------------------------------------------------- /source/qci/cifile/stage-task/path-format.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 文件路径配置格式 - CODING 帮助中心 3 | pageTitle: 文件路径配置格式 4 | sitemap: false 5 | --- 6 | 7 | 本文档用于说明 CIFile 里可能会用到的 artifacts、cache、temps、status 等涉及到文件路径的关键字配置格式。 8 | 9 | ### 配置格式 10 | 11 | - 路径支持两种配置方式,路径通配符和正则表达式 12 | 13 | - 路径中支持环境变量,使用方式和执行平台下环境变量的使用方式一致,如: 14 | 15 | -linux 平台:**${环境变量名}** 16 | 17 | - 示例1:A/${BUILD_ID}/* 18 | 19 | - 示例2:A/release_${BUILD_ID}/* 20 | 21 | -windows 平台:**%环境变量名%** 22 | 23 | - 示例1:A\\%BUILD_ID%\\* 24 | 25 | - 示例2:A\\release_%BUILD_ID%\\* 26 | 27 | - cache 仅支持目录配置,不支持指定文件 28 | 29 | ### 匹配策略 30 | 31 | - 优先使用路径通配符方式匹配,匹配不到则使用正则匹配 32 | 33 | - 匹配均**在 cmd 执行的根目录 QCI_WORKSPACE 下**执行 34 | 35 | ### 配置示例 36 | 37 | - 路径通配符: 38 | 39 | -A/* 40 | 41 | - ${QCI_WORKSPACE}/A 目录中的所有文件 42 | 43 | -A/B/*.apk: 44 | 45 | - ${QCI_WORKSPACE}/A/B 目录中以.apk结尾的所有文件 46 | 47 | -d*.apk: 48 | 49 | - $QCI_WORKSPACE目录下,文件名以 d 开头,以.apk结尾的文件 50 | 51 | - 正则表达式: 52 | 53 | -A/.* 54 | 55 | - ${QCI_WORKSPACE}/A 目录下、以及其子目录下的所有文件 56 | 57 | 58 | ==== 2021/08/04 ==== 59 | -------------------------------------------------------------------------------- /source/repo/branch/create.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 创建分支 - CODING 帮助中心 3 | pageTitle: 创建分支 4 | pagePrevTitle: SSH 协议使用——通过 SSH 协议推拉代码 5 | pagePrev: repo/ssh/pull-push.html 6 | pageNextTitle: 设置默认分支 7 | pageNext: repo/branch/default.html 8 | alias: 9 | - host/branch.html 10 | - repo/branch/settings.html 11 | --- 12 | 13 | 分支是 Git 中的常用功能。常用的开发模式是保留一个主干,各项开发或修补工作在其他分支进行,完成后再合并入主干。因为直接在主干开发是一件危险系数较高的活动,分支功能可以视为一道安全的阀门,将各项开发工作分隔开来,它能够保证主要版本的稳定性不被破坏,不同的人可以专注于不同的开发任务。 14 | 15 | > 下文中简称 CODING 代码仓库中的分支为远程分支、本地 Git 代码仓库的分支为本地分支。在本地终端运行相关命令也可以快速创建分支,请参考 [Git 常用命令速查表](/docs/repo/git/commands.html)。 16 | 17 | 18 | 1. 进入代码仓库的详情页面之后,点击「分支」页签即可查看目前远端仓库中的所有分支。 19 | 你可以在此处进行新建分支、启用保护分支等操作,分支列表页会显示当前相比于默认分支提前或落后多少提交。 20 | 21 | ![](https://help-assets.codehub.cn/enterprise/20210521111003.png) 22 | 23 | 2. 点击右上角的新建分支按钮后,在弹窗中按照提示输入相关配置信息,默认以 master 分支作为创建来源,相当于基于源分支衍生出新分支。 24 | 25 | ![](https://help-assets.codehub.cn/enterprise/20210115153236.png) 26 | 27 | 3. 新建分支时可以添加一个简单的描述信息用以记录分支用途,当分支名称不能完整描述分支用途时,就可以使用分支备注来完善信息。 28 | 29 | ![](https://help-assets.codehub.cn/enterprise/20210115154253.png) 30 | 31 | 32 | 33 | 34 | 35 | ==== 2021/11/04 ==== 36 | -------------------------------------------------------------------------------- /themes/coding-help/source/images/icons/disliked-blue.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icons/disliked-blue 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Dark style from softwaremaniacs.org (c) Ivan Sagalaev 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #444; 12 | } 13 | 14 | .hljs-keyword, 15 | .hljs-selector-tag, 16 | .hljs-literal, 17 | .hljs-section, 18 | .hljs-link { 19 | color: white; 20 | } 21 | 22 | .hljs, 23 | .hljs-subst { 24 | color: #ddd; 25 | } 26 | 27 | .hljs-string, 28 | .hljs-title, 29 | .hljs-name, 30 | .hljs-type, 31 | .hljs-attribute, 32 | .hljs-symbol, 33 | .hljs-bullet, 34 | .hljs-built_in, 35 | .hljs-addition, 36 | .hljs-variable, 37 | .hljs-template-tag, 38 | .hljs-template-variable { 39 | color: #d88; 40 | } 41 | 42 | .hljs-comment, 43 | .hljs-quote, 44 | .hljs-deletion, 45 | .hljs-meta { 46 | color: #777; 47 | } 48 | 49 | .hljs-keyword, 50 | .hljs-selector-tag, 51 | .hljs-literal, 52 | .hljs-title, 53 | .hljs-section, 54 | .hljs-doctag, 55 | .hljs-type, 56 | .hljs-name, 57 | .hljs-strong { 58 | font-weight: bold; 59 | } 60 | 61 | .hljs-emphasis { 62 | font-style: italic; 63 | } 64 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/androidstudio.css: -------------------------------------------------------------------------------- 1 | /* 2 | Date: 24 Fev 2015 3 | Author: Pedro Oliveira 4 | */ 5 | 6 | .hljs { 7 | color: #a9b7c6; 8 | background: #282b2e; 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | } 13 | 14 | .hljs-number, 15 | .hljs-literal, 16 | .hljs-symbol, 17 | .hljs-bullet { 18 | color: #6897BB; 19 | } 20 | 21 | .hljs-keyword, 22 | .hljs-selector-tag, 23 | .hljs-deletion { 24 | color: #cc7832; 25 | } 26 | 27 | .hljs-variable, 28 | .hljs-template-variable, 29 | .hljs-link { 30 | color: #629755; 31 | } 32 | 33 | .hljs-comment, 34 | .hljs-quote { 35 | color: #808080; 36 | } 37 | 38 | .hljs-meta { 39 | color: #bbb529; 40 | } 41 | 42 | .hljs-string, 43 | .hljs-attribute, 44 | .hljs-addition { 45 | color: #6A8759; 46 | } 47 | 48 | .hljs-section, 49 | .hljs-title, 50 | .hljs-type { 51 | color: #ffc66d; 52 | } 53 | 54 | .hljs-name, 55 | .hljs-selector-id, 56 | .hljs-selector-class { 57 | color: #e8bf6a; 58 | } 59 | 60 | .hljs-emphasis { 61 | font-style: italic; 62 | } 63 | 64 | .hljs-strong { 65 | font-weight: bold; 66 | } 67 | -------------------------------------------------------------------------------- /source/code-scan/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 产品简介 - CODING 帮助中心 3 | pageTitle: 产品简介 4 | pageNextTitle: 快速入门 5 | pageNext: code-scan/start.html 6 | alias: 7 | - host/codedog/start.html 8 | - host/code-scan/introduction.html 9 | --- 10 | 11 | CODING 代码扫描能力可以通过分析代码仓库中的源代码,能够及时发现其中潜藏的代码缺陷、安全漏洞以及不规范代码;自动生成问题列表,附带修改建议,便于团队成员修复问题进而提升代码的稳定性;还可以通过对代码进行度量,统计出结构异常复杂的方法及重复代码供开发人员调整,进而提升代码的可维护性,提升团队效率。 12 | 13 | ### 主要功能 14 | 15 | 代码扫描主要由**扫描任务**和**扫描方案**两个功能组成。扫描任务指的是执行代码扫描的载体,单次任务包含执行扫描需要的全部信息,其中包括了被扫描代码所在分支概览、扫描任务执行的扫描结果、度量结果、扫描历史与分支信息。扫描方案由执行扫描任务的规则包所组成,一个扫描方案包含多个扫描规则。方案内还支持质量门禁的设置,度量规则的切换,路径过滤等功能。 16 | 17 | ### CODING 代码扫描的优势 18 | 19 | **1. 工具覆盖面广** 20 | 21 | 代码扫描目前内部集成了多种工具、数千条规则,支持包括 Java、C/C++、JavaScript、Python、Go 等十余种语言在功能、安全、性能、可用性、代码规范等多个维度寻找您代码中的漏洞并提供修改建议。 22 | 23 | **2. 协作效率高** 24 | 25 | 责任人自动指派问题代码提交人,问题代码修复后可自行关闭,实现问题处理的闭环,无需手动指派责任人或关闭问题。不仅如此,还支持对仓库的多个分支进行全量或增量的扫描,轻松监管代码综合质量趋势,能够自动呈现代码的具体质量问题并提示团队成员进行消除。 26 | 27 | **3. 易于使用** 28 | 29 | 为了便于您的使用,我们对每种语言以及常用的前端框架都内置了一份系统推荐扫描方案。此外也支持您按需定制扫描方案,包括规则的选用以及规则级别的调整,一份设置好的方案可以复用于多个分支。 30 | 31 | **4. 自动化运行** 32 | 33 | 支持自动化执行代码扫描,您可以通过设置触发规则,指定合适的时机比如合并请求时自动执行代码扫描。 34 | 35 | ==== 2020/09/02 ==== 36 | -------------------------------------------------------------------------------- /source/qci/cifile/path-format.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 文件路径配置格式 - CODING 帮助中心 3 | pageTitle: 文件路径配置格式 4 | sitemap: false 5 | --- 6 | 7 | 本文档对 CIFile 里可能会用到的 artifacts、cache、temps、status 等涉及到文件路径的关键字配置的格式进行说明 8 | 9 | ### 配置格式 10 | 11 | --- 12 | 13 | - 路径支持两种配置方式,路径通配符和正则表达式 14 | 15 | - 路径中支持环境变量,使用方式和执行平台下环境变量的使用方式一致,如: 16 | 17 | -linux 平台:**${环境变量名}** 18 | 19 | - 示例1:A/${BUILD_ID}/* 20 | 21 | - 示例2:A/release_${BUILD_ID}/* 22 | 23 | -windows 平台:**%环境变量名%** 24 | 25 | - 示例1:A\\%BUILD_ID%\\* 26 | 27 | - 示例2:A\\release_%BUILD_ID%\\* 28 | 29 | - cache 仅支持目录配置,不支持指定文件 30 | 31 | ### 匹配策略 32 | 33 | --- 34 | 35 | - 优先使用路径通配符方式匹配,匹配不到则使用正则匹配 36 | 37 | - 匹配均**在 cmd 执行的根目录 QCI_WORKSPACE 下**执行 38 | 39 | ### 配置示例 40 | 41 | --- 42 | 43 | - 路径通配符: 44 | 45 | -A/* 46 | 47 | - ${QCI_WORKSPACE}/A 目录中的所有文件 48 | 49 | -A/B/*.apk: 50 | 51 | - ${QCI_WORKSPACE}/A/B 目录中以.apk结尾的所有文件 52 | 53 | -d*.apk: 54 | 55 | - $QCI_WORKSPACE目录下,文件名以 d 开头,以.apk结尾的文件 56 | 57 | - 正则表达式: 58 | 59 | -A/.* 60 | 61 | - ${QCI_WORKSPACE}/A 目录下、以及其子目录下的所有文件 62 | 63 | ==== 2021/10/26 ==== 64 | -------------------------------------------------------------------------------- /source/admin/message/third-party/wechat.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 微信 - CODING 帮助中心 3 | pageTitle: 微信 4 | pagePrevTitle: 每日邮件提醒 5 | pagePrev: admin/message/daily.html 6 | pageNextTitle: 企业微信 7 | pageNext: admin/message/third-party/wecom.html 8 | --- 9 | 10 | > 微信的 CODING 消息通知能力基于服务号提供。 11 | 12 | 若要在微信中接受诸如事项状态变更、合并请求评审通知、人工确认等信息,请按照下文指引完成设置。 13 | 14 | ### [1. 个人账户绑定](#1) 15 | 16 | 前往「个人账户设置」→「个人账户」,点击扫码绑定微信。 17 | 18 | ![](https://help-assets.codehub.cn/enterprise/20210722115133.png) 19 | 20 | ### [2. 接受消息](#2) 21 | 22 | 在微信中添加「腾云扣钉」公众号,若事项中有分配给自己的事项或合并请求将在此处接收到消息推送。 23 | 24 | ![](https://help-assets.codehub.cn/enterprise/20210722115433.png) 25 | 26 | > *自我指派事项将不会触发消息推送。若点击详情提示事项不存在,请点击左上角返回后,退出当前团队后登录该事项的所在团队。* 27 | 28 | **公众号二维码:** 29 | 30 | 图片名称 31 | 32 | ### [3. 管理通知消息](#3) 33 | 34 | 点击小程序右下角的「我」→「通知」管理推送设置。 35 | 36 | 图片名称 37 | 38 | 若你还希望在企业微信中接受通知推送,请点击[阅读详情](/docs/admin/message/third-party/wecom.html)。 39 | 40 | ==== 2021/07/20 ==== 41 | -------------------------------------------------------------------------------- /source/repo/ssh/fingerprint.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 密钥指纹鉴权 - CODING 帮助中心 3 | pageTitle: 密钥指纹鉴权 4 | pagePrevTitle: 配置 SSH 公钥 5 | pagePrev: repo/ssh/config.html 6 | pageNextTitle: 通过 SSH 协议推拉代码 7 | pageNext: repo/ssh/pull-push.html 8 | alias: repo/fingerprints.html 9 | --- 10 | 11 | ### [功能介绍](#intro) 12 | 13 | 代码安全是永不过时的议题,为了保证您所连接的远端仓库是真正的 CODING 代码仓库,现提供 SSH 密钥指纹用于鉴权。您只需要在本地运行命令后,验证返回的结果就可以知晓远端代码仓库的真实性。 14 | 15 | ### [验证 SHA256 算法指纹](#sha256) 16 | 17 | 查看本地 `.ssh/know_hosts` 文件中关于 `e.coding.net` 的 SHA256 算法的指纹,如果返回值为 `jok3FH7q5LJ6qvE7iPNehBgXRw51ErE77S0Dn+Vg/Ik`,则证明您连接到了正确的 CODING 服务器。 18 | 19 | 在终端中运行命令: 20 | 21 | ```bash 22 | ssh-keygen -lf ~/.ssh/known_hosts 23 | ``` 24 | 25 | 查看结果; 26 | 27 | ![](https://help-assets.codehub.cn/enterprise/20210830154637.png) 28 | 29 | ### [验证 MD5 算法指纹](#md5) 30 | 31 | 查看本地 `.ssh/know_hosts` 文件中关于 `e.coding.net` 的 MD5 算法的指纹,如果返回值是 `98:ab:2b:30:60:00:82:86:bb:85:db:87:22:c4:4f:b1`,则证明您连接到了正确的 CODING 服务器。 32 | 33 | 在终端中运行命令: 34 | 35 | ```bash 36 | ssh-keygen -E md5 -lf ~/.ssh/known_hosts 37 | ``` 38 | 39 | 查看结果: 40 | 41 | ![](https://help-assets.codehub.cn/enterprise/20210830154427.png) 42 | 43 | ==== 2021/08/30 ==== 44 | -------------------------------------------------------------------------------- /source/collaboration/faq.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 常见问题 - CODING 帮助中心 3 | pageTitle: 常见问题 4 | pagePrevTitle: 产品概述 5 | pagePrev: collaboration/intro.html 6 | alias: agile-development/introduce.html 7 | --- 8 | 9 | ### [在事项中粘贴图片失败](#paste-photo-failed) 10 | 11 | 问题详情:粘贴图片地址后,图片显示裂开,不可用。 12 | 13 | 造成此问题的原因可能是您没有图片的访问权限,常见于直接复制其他项目的图片地址。在图片地址中可以查看项目 ID。若无法确认本项目的 ID,粘贴新的图片后将显示本项目 ID。你可以直接复制图片后重新粘贴至事项,而避免直接复制图片地址。 14 | 15 | ![](https://help-assets.codehub.cn/enterprise/20211203103449.png) 16 | 17 | ### [故事燃尽图中理想线一直为 0](#ideal-line) 18 | 19 | > 蓝色线为实际线,灰色线为理想线。 20 | 21 | 例如在下图中,实际线不降反增,而理想线却一直为 0。 22 | 23 | ![](https://help-assets.codehub.cn/enterprise/20211203103822.png) 24 | 25 | 理想线的统计逻辑为:绘制原点以「迭代开始时故事点总数」开始计算。此图说明从迭代的开始那一刻算起,迭代中的事项故事点总数为 0,即使后续修改了迭代中事项的故事点,也无法改变理想线的初始值。你可以通过重新调整故事点与迭代开始周期修改起始点。 26 | 27 | 理想线通常为一条线性下降线,因为将自动平均分配所有的故事点至完整迭代周期中,迭代结束后也意味着已燃尽所有故事点。实践线的统计逻辑为当天内事项故事点的总数,故有可能为一条折线。 28 | 29 | ### [如何查看状态趋势图?](#state-trend-graph) 30 | 31 | 状态趋势图采用堆积面积图进行数据展示,例如在此图中所有的事项总数为 10,故占有 10 单位面积。未开始的事项数为 7,占据了 7 单位蓝色面积;进行中事项数为 1,仅占据 1 单位黄色面积,它们之间的关系相互独立。 32 | 33 | ![](https://help-assets.codehub.cn/enterprise/20211203113935.png) 34 | 35 | 36 | ==== 2021/07/02 ==== 37 | -------------------------------------------------------------------------------- /source/repo/manage/card.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 管理代码仓库卡片 - CODING 帮助中心 3 | pageTitle: 管理代码仓库卡片 4 | pagePrevTitle: 恢复已删除仓库 5 | pagePrev: repo/manage/restore.html 6 | pageNextTitle: 通过本地命令行管理仓库 7 | pageNext: repo/manage/cli.html 8 | --- 9 | 10 | 在 CODING DevOps 平台上,每个代码仓库默认以卡片的形式展示。你可以对仓库进行[分组与排序](#group),并通过卡片上的[快速入口](#quick-action)进行对应的操作。 11 | 12 | ### [分组与排序](#group) 13 | 14 | 在「代码仓库」页面,你可以创建仓库分组,然后通过批量操作将多个仓库同时添加到同一分组。通过「管理分组」,你可以调整仓库分组的展示顺序。 15 | 16 | ![](https://help-assets.codehub.cn/enterprise/20210915155759.png) 17 | 18 | 针对单个代码仓库,可通过更多操作按钮将其添加至任一分组。 19 | 20 | ![](https://help-assets.codehub.cn/enterprise/20210915155955.png) 21 | 22 | ### [仓库卡片快速操作](#quick-action) 23 | 24 | 每一个代码仓库卡片内置快捷入口,以便快速执行所需操作。快捷入口的说明如下图所示: 25 | 26 | ![](https://help-assets.codehub.cn/enterprise/20210308142824.png) 27 | 28 | 鼠标移至某一卡片上,点击右上角的星按钮可以将其设为星标仓库。 29 | 30 | ![](https://help-assets.codehub.cn/enterprise/20210308144254.png) 31 | 32 | 拖动卡片可以调整显示顺序。 33 | 34 | ![](https://help-assets.codehub.cn/enterprise/20210308144503.png) 35 | 36 | 点击右上方的显示切换按钮,可以在列表与卡片展示模式之间进行切换。 37 | 38 | ![](https://help-assets.codehub.cn/enterprise/20210308145018.png) 39 | 40 | 41 | ==== 2021/10/28 ==== 42 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/codepen-embed.css: -------------------------------------------------------------------------------- 1 | /* 2 | codepen.io Embed Theme 3 | Author: Justin Perry 4 | Original theme - https://github.com/chriskempson/tomorrow-theme 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #222; 12 | color: #fff; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-quote { 17 | color: #777; 18 | } 19 | 20 | .hljs-variable, 21 | .hljs-template-variable, 22 | .hljs-tag, 23 | .hljs-regexp, 24 | .hljs-meta, 25 | .hljs-number, 26 | .hljs-built_in, 27 | .hljs-builtin-name, 28 | .hljs-literal, 29 | .hljs-params, 30 | .hljs-symbol, 31 | .hljs-bullet, 32 | .hljs-link, 33 | .hljs-deletion { 34 | color: #ab875d; 35 | } 36 | 37 | .hljs-section, 38 | .hljs-title, 39 | .hljs-name, 40 | .hljs-selector-id, 41 | .hljs-selector-class, 42 | .hljs-type, 43 | .hljs-attribute { 44 | color: #9b869b; 45 | } 46 | 47 | .hljs-string, 48 | .hljs-keyword, 49 | .hljs-selector-tag, 50 | .hljs-addition { 51 | color: #8f9c6c; 52 | } 53 | 54 | .hljs-emphasis { 55 | font-style: italic; 56 | } 57 | 58 | .hljs-strong { 59 | font-weight: bold; 60 | } 61 | -------------------------------------------------------------------------------- /source/admin/message/generic.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 消息通知 - CODING 帮助中心 3 | pageTitle: 消息通知 4 | pagePrevTitle: 服务订购——团队发票管理 5 | pagePrev: admin/pay/invoice.html 6 | pageNextTitle: 每日邮件提醒 7 | pageNext: admin/message/daily.html 8 | --- 9 | 10 | CODING 的消息通知主要分为站内、邮件、第三方三种类型通知。 11 | 12 | ### [站内通知](#in-site) 13 | 14 | 点击左上角的铃铛图标可以查看与个人有关的全部通知,轻点「查看所有通知」能够查看 CODING 站内所有和自己有关的通知,点击了解[详情](/docs/admin/message/in-site.html)。 15 | 16 | ![](https://help-assets.codehub.cn/enterprise/20210719170025.png) 17 | 18 | ### [邮件通知](#mail) 19 | 20 | 团队成员个人可以前往「个人账户设置」→「提醒设置」选择是否接受来自各类事项状态变更、开发与交付相关等场景下的邮件提醒。 21 | 22 | ![](https://help-assets.codehub.cn/enterprise/20210816160407.png) 23 | 24 | 每日邮件提醒用于接受特定项目内与我有关的事项,将在每天定时进行推送方便用户了解新一天的工作内容。你可以前往项目设置中开关此功能。 25 | 26 | ![](https://help-assets.codehub.cn/enterprise/20200417154352.png) 27 | 28 | ### [第三方服务通知](#third-party) 29 | 30 | 你可以在[微信](/docs/admin/message/third-party/wechat.html)或[企业微信](/docs/admin/message/third-party/wecom.html)中接受来自他人的任务指派等通知信息。 31 | 32 | 还可以通过 Service Hook 服务使用[企业微信群聊机器人](/docs/project-settings/service-hook/wecom-robot.html)、[钉钉机器人](/docs/project-settings/service-hook/dingtalk-robot.html)进行消息通知。 33 | 34 | ==== 2021/08/16 ==== 35 | -------------------------------------------------------------------------------- /source/ci/practice/testing/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 功能介绍 - CODING 帮助中心 3 | pageTitle: 功能介绍 4 | pagePrevTitle: Shell 规范检查 5 | pagePrev: ci/lint/shell.html 6 | pageNextTitle: Java Spring Boot 自动化测试 7 | pageNext: ci/testing/java-spring-boot.html 8 | alias: ci/testing/intro.html 9 | --- 10 | 11 | 持续集成还可以用于自动化测试任务。代码提交后自动触发任务,开发人员及时检验代码的正确性,及时查看变更对整体的影响。修改旧有代码时候不再“如临大敌”,由小及大提升项目整体的稳定性。 12 | 13 | ### [建议守则](#rules) 14 | 15 | - 开发写测试:测试代码应由开发人员编写,最好「先写测试,后写业务」即测试驱动开发(TDD),避免代码不可测; 16 | - 一个代码库:测试代码和业务代码放在同一个代码库,使用同一种编程语言,一起提交; 17 | - 自动运行:在合并请求时自动运行测试,全部通过才允许合并; 18 | - 检查覆盖率:在合并请求时计算覆盖率,达到要求才允许合并(50% 为中等,80% 为良好,90% 为优秀); 19 | 20 | ### [工具](#tools) 21 | 22 | 各个语言都有开源的测试工具、覆盖率报告工具。持续集成任务结束后支持输出运行结果。 23 | 24 | 语言 | 测试工具 | 覆盖率工具 25 | -----|---------|---------- 26 | Java | [JUnit](https://junit.org/junit5/) | [JaCoCo](https://www.eclemma.org/jacoco/) 27 | PHP | [PHPUnit](https://phpunit.de/) | PHPUnit 28 | JS | [Jest](https://jestjs.io/zh-Hans/) | Jest 29 | 30 | 运行持续集成任务后将自动生成测试报告。 31 | 32 | ![](https://help-assets.codehub.cn/enterprise/20200923121714.png) 33 | 34 | 报告详情: 35 | 36 | ![](https://help-assets.codehub.cn/enterprise/20201119164317.png) 37 | 38 | ==== 2021/09/16 ==== 39 | -------------------------------------------------------------------------------- /source/okr/glossary.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 词汇表 - CODING 帮助中心 3 | pageTitle: 词汇表 4 | pagePrevTitle: 最佳实践 5 | pagePrev: okr/best-practices.html 6 | alias: pro/glossary.html 7 | --- 8 | 9 | ### [团队管理目标(OKR)](#okr) 10 | 11 | OKR 正式诞生于英特尔公司,后来被谷歌、甲骨文、领英、Adobe 等公司广泛使用。O 表示目标(Objective),KR 表示关键结果(Key Results)。透明公开、敏捷开放、自下而上,以及目标和评价解耦,是 OKR 的四大特点。 12 | 13 | #### [团队目标/个人目标](#objective) 14 | 15 | 团队目标/个人目标是团队/个人想做的事情或者想要达到的目标。区别于长期的使命和愿景,团队目标/个人目标是团队内中短期的指向标,对团队和个人来说应该是重要的、具体的、有挑战的、受鼓舞的、可达到的。 16 | 17 | #### [关键结果](#key-results) 18 | 19 | 关键结果是指团队/个人完成目标的步骤,以及设定完成目标的判断标准。关键结果是对目标的界定,一般需要具备量化管理的基础,应当清晰可衡量;必须是产出导向,而非动作导向;必须能自证其是否已完成。 20 | 21 | #### [指标权重](#weight) 22 | 23 | 每项目标的权重总计均为 100%,默认根据目标内关键结果数量均分权重,也可以根据关键结果的重要程度调整权重。 24 | 25 | ### [KPI](#kpi) 26 | 27 | KPI(Key Performance Indicators)意为关键绩效指标,是通过对组织内部流程的关键参数进行取样分析,衡量流程绩效的一种目标式量化管理指标。KPI 的理论基础是帕累托法则(二八原理),意大利经济学家帕累托提出的一个经济学原理:仅有约 20% 的变因操纵着 80% 的局面。即一个企业在价值创造过程中,每个部门和每一位员工的 80% 的工作任务是由 20% 的关键行为完成的。 28 | 29 | ### [CFP](#cfp) 30 | 31 | CFR 是持续性绩效管理(Continuous Performance Management,CPM)的实现工具,代表了对话,反馈,认可。持续性绩效管理关注的重点是:在频繁的反馈中提高工作质量。它鼓励上级和下级之间建立直接的双向沟通,定期的一对一对话可最大程度地减少部门员工做出的错误决定,各个团队负责人经常检查工作,也可以提高整个组织的透明度和效率。 32 | 33 | ==== 2021/08/23 ==== 34 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/brown-paper.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Brown Paper style from goldblog.com.ua (c) Zaripov Yura 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background:#b7a68e url(./brown-papersq.png); 12 | } 13 | 14 | .hljs-keyword, 15 | .hljs-selector-tag, 16 | .hljs-literal { 17 | color:#005599; 18 | font-weight:bold; 19 | } 20 | 21 | .hljs, 22 | .hljs-subst { 23 | color: #363c69; 24 | } 25 | 26 | .hljs-string, 27 | .hljs-title, 28 | .hljs-section, 29 | .hljs-type, 30 | .hljs-attribute, 31 | .hljs-symbol, 32 | .hljs-bullet, 33 | .hljs-built_in, 34 | .hljs-addition, 35 | .hljs-variable, 36 | .hljs-template-tag, 37 | .hljs-template-variable, 38 | .hljs-link, 39 | .hljs-name { 40 | color: #2c009f; 41 | } 42 | 43 | .hljs-comment, 44 | .hljs-quote, 45 | .hljs-meta, 46 | .hljs-deletion { 47 | color: #802022; 48 | } 49 | 50 | .hljs-keyword, 51 | .hljs-selector-tag, 52 | .hljs-literal, 53 | .hljs-doctag, 54 | .hljs-title, 55 | .hljs-section, 56 | .hljs-type, 57 | .hljs-name, 58 | .hljs-strong { 59 | font-weight: bold; 60 | } 61 | 62 | .hljs-emphasis { 63 | font-style: italic; 64 | } 65 | -------------------------------------------------------------------------------- /source/repo/manage/cli.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 通过本地命令行管理仓库 - CODING 帮助中心 3 | pageTitle: 通过本地命令行管理仓库 4 | pagePrevTitle: 管理代码仓库卡片 5 | pagePrev: repo/manage/card.html 6 | pageNextTitle: SVN 仓库使用——创建 SVN 仓库 7 | pageNext: repo/svn/create.html 8 | --- 9 | 10 | ### [从远程仓库获取数据](#obtain-data) 11 | 12 | 你可以使用 `git clone` 命令克隆远程仓库至本地,并自动与之关联。 13 | 14 | ```shell 15 | git clone [remote-name] 16 | ``` 17 | 18 | ### [推送数据到远程仓库](#push) 19 | 20 | 使用 `git push [remote-name] [branch-name]` 可以将本地仓库中的数据推送到远程仓库,如:`git push learn-git master`会将本地的仓库数据推送到远程仓库的 “master” 分支。 21 | 22 | ### [重命名远程仓库](#rename) 23 | 24 | 使用 `git remote rename [old-name] [new-name]` 命令修改某个远程仓库在本地的简称,比如想把 `origin` 改成 `learn-git`,可以运行: 25 | 26 | ```shell 27 | git remote rename origin learn-git 28 | ``` 29 | 30 | 重命名远程仓库之后,若在使用 Git 命令时需要指定远程仓库的名字,请使用更新后的命名作为推送命令。 31 | 32 | ```bash 33 | git push learn-git [branch-name]:mr/master/[branch-name] 34 | ``` 35 | 36 | ### [解除远程仓库关联](#unlink) 37 | 38 | 比如要解除和远程仓库 “origin” 的关联,运行: 39 | 40 | ```shell 41 | git remote rm origin 42 | ``` 43 | 44 | > 注意,此命令是解除了本地仓库和远程仓库的关联,并不是删除了远程仓库的数据。 45 | 46 | 如需了解更多常用的 Git 命令,参考 [Git 常用命令速查表](/docs/repo/git/commands.html)。 47 | 48 | 49 | 50 | ==== 2021/10/28 ==== 51 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/vs.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Visual Studio-like style based on original C# coloring by Jason Diamond 4 | 5 | */ 6 | .hljs { 7 | display: block; 8 | overflow-x: auto; 9 | padding: 0.5em; 10 | background: white; 11 | color: black; 12 | } 13 | 14 | .hljs-comment, 15 | .hljs-quote, 16 | .hljs-variable { 17 | color: #008000; 18 | } 19 | 20 | .hljs-keyword, 21 | .hljs-selector-tag, 22 | .hljs-built_in, 23 | .hljs-name, 24 | .hljs-tag { 25 | color: #00f; 26 | } 27 | 28 | .hljs-string, 29 | .hljs-title, 30 | .hljs-section, 31 | .hljs-attribute, 32 | .hljs-literal, 33 | .hljs-template-tag, 34 | .hljs-template-variable, 35 | .hljs-type, 36 | .hljs-addition { 37 | color: #a31515; 38 | } 39 | 40 | .hljs-deletion, 41 | .hljs-selector-attr, 42 | .hljs-selector-pseudo, 43 | .hljs-meta { 44 | color: #2b91af; 45 | } 46 | 47 | .hljs-doctag { 48 | color: #808080; 49 | } 50 | 51 | .hljs-attr { 52 | color: #f00; 53 | } 54 | 55 | .hljs-symbol, 56 | .hljs-bullet, 57 | .hljs-link { 58 | color: #00b0e8; 59 | } 60 | 61 | 62 | .hljs-emphasis { 63 | font-style: italic; 64 | } 65 | 66 | .hljs-strong { 67 | font-weight: bold; 68 | } 69 | -------------------------------------------------------------------------------- /source/artifacts/properties.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 制品属性 - CODING 帮助中心 3 | pageTitle: 制品属性 4 | pagePrevTitle: 制品库认证 5 | pagePrev: artifacts/auth.html 6 | pageNextTitle: 制品版本覆盖策略 7 | pageNext: artifacts/version.html 8 | alias: 9 | - devops/artifacts/properties.html 10 | - ar/properties.html 11 | - packages/properties.html 12 | --- 13 | 14 | ### [功能介绍](#intro) 15 | 16 | CODING 制品属性支持用户对制品版本的自定义属性,可以进行**查询**、**新增**、**删除**、**修改**的操作。制品属性同时支持通过**页面操作**以及 **REST API** 进行管理。 17 | 18 | > 制品属性制品元数据的区别:制品属性不同于制品元数据,**制品元数据通常为制品类型的原生属性**,如: npm 的 packageName 和 version 等信息。**制品属性更多的是用来描述元数据无法定义的内容**,您可以利用制品属性写入在 CODING 持续集成中的制品产出信息,或其它自定义内容。 19 | 20 | 21 | ### **通过页面操作管理属性** 22 | 23 | 在【制品库】页面,点击指定仓库下的指定包名,进入包页面后,点击【属性】,可在页面上进行**查看**、**新增**、**修改**、**删除**操作。 24 | 25 | ![](https://help-assets.codehub.cn/enterprise/20210923110912.png) 26 | 27 | 28 | ### [收集制品属性](#collect) 29 | 30 | 推荐使用持续集成任务自动将构建过程中的代码仓库、分支、commit、构建计划、测试结果等关键信息写入制品属性。 31 | 32 | 点击访问 [CODING CI 制品属性设置插件](/docs/artifacts/plugins/artifact-set-properties.html) 了解详情。 33 | 34 | ### [通过 REST API 管理属性](#rest-api) 35 | 36 | 点击访问 [CODING OPEN API](https://help.coding.net/openapi#e8fdb3363a50c4409ba92cf7ef6df4ec) 了解详情。 37 | 38 | ==== 2020/08/13 ==== 39 | -------------------------------------------------------------------------------- /source/cd/deploy-way/manual.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 手动提交发布单 - CODING 帮助中心 3 | pageTitle: 手动提交发布单 4 | pagePrevTitle: 在构建计划中添加部署阶段 5 | pagePrev: cd/deploy-way/ci-job.html 6 | pageNextTitle: 部署流程中的制品 7 | pageNext: cd/pipe/artifacts/in-pipelines.html 8 | --- 9 | 10 | ### [新建发布单](#create) 11 | 12 | 在[权限控制](/docs/cd/rbac.html)一文中,我们推荐赋予「开发」用户组访问与持续部署管理权限。 13 | 14 | ![](https://help-assets.codehub.cn/enterprise/20210729110254.png) 15 | 16 | 设置后,开发具备提交发布单的权限,不具备前往部署控制台修改部署配置的权限。运维组用户还可以在应用的部署流程中添加人工确认步骤,确保通过发布单发布时是经二次确认的,通过权限控制把控发布质量。 17 | 18 | ![](https://help-assets.codehub.cn/enterprise/20210729111644.png) 19 | 20 | 点击新建发布单后,可以运行已有应用及部署流程。 21 | 22 | ![](https://help-assets.codehub.cn/enterprise/20210729135533.png) 23 | 24 | ### [快速发布](#quick) 25 | 26 | 若不希望在团队设置复杂的权限限制,而直接希望体验持续部署功能,可以使用「快速发布」功能。无需在控制台中配置部署流程即可将镜像发布至集群中,适用于更加灵活复杂的部署流程的场景,比如说临时镜像变更等突发场景,无需快速将制品发布至集群中。 27 | 28 | ![](https://help-assets.codehub.cn/enterprise/20210729140406.png) 29 | 30 | 成员所在用户组需具备部署管理权限,所发布的制品的权限范围需设置为公开状态,从而能够被集群访问。 31 | 32 | ![](https://help-assets.codehub.cn/enterprise/20210729160327.png) 33 | 34 | 发布完成后可以在持续部署中查看发布详情。 35 | 36 | ![](https://help-assets.codehub.cn/enterprise/20210729160438.png) 37 | 38 | 39 | ==== 2021/07/29 ==== 40 | -------------------------------------------------------------------------------- /source/project-settings/members.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 项目成员管理 - CODING 帮助中心 3 | pageTitle: 项目成员管理 4 | pagePrevTitle: 项目管理 5 | pagePrev: project-settings/project.html 6 | pageNextTitle: 权限配置 7 | pageNext: project-settings/permission.html 8 | alias: project/members.html 9 | --- 10 | 11 | 仅团队所有者、团队管理员和项目管理员拥有项目成员管理权限。本文主要说明**项目管理员**如何管理**项目成员**。 12 | 13 | > 如需了解团队所有者/管理员如何管理团队成员,参考 [团队管理员指南——成员管理](/docs/admin/team.html) 和[团队管理员指南——权限配置](/docs/admin/permission.html)。 14 | 15 | ### [添加项目成员](#adding-member) 16 | 17 | 1. 进入项目之后,点击页面左下角「项目设置」。 18 | 19 | ![](https://help-assets.codehub.cn/enterprise/20210803153424.png) 20 | 21 | 2. 在「项目设置」->「项目与成员」->「成员」中,点击「添加成员」按钮。 22 | 23 | ![](https://help-assets.codehub.cn/enterprise/20210806095937.png) 24 | 25 | 3. 在搜索框内输入用户名或账号绑定邮箱,选择对应用户后点击「确定」按钮,即可完成项目成员添加。 26 | 27 | 4. 项目成员添加成功之后,可以参考[权限配置](/docs/project-settings/permission.html)为其分配权限。 28 | 29 | ### [配置项目成员权限](#permission-set) 30 | 31 | 参考[权限配置](/docs/project-settings/permission.html)。 32 | 33 | ### [移出项目成员](#deleting-member) 34 | 35 | 项目管理员在「项目设置」->「项目与成员」->「成员」中,选择对应成员,点击最末端「移出项目」按钮并再次确认后即可将成员移出项目。 36 | 37 | ![](https://help-assets.codehub.cn/enterprise/20210806100054.png) 38 | 39 | 40 | 41 | ==== 2021/08/02 ==== 42 | -------------------------------------------------------------------------------- /themes/coding-help/layout/partials/head.pug: -------------------------------------------------------------------------------- 1 | head 2 | block title 3 | title= page.title || config.title 4 | block description 5 | meta(name="description", content=(page.description || config.description)) 6 | meta(charset="UTF-8") 7 | meta(name="viewport", content="width=device-width, initial-scale=1.0") 8 | meta(http-equiv="X-UA-Compatible", content="ie=edge") 9 | link(rel="shortcut icon", href="https://dn-coding-net-production-static.codehub.cn/platform/favicon.ico") 10 | if theme.stylesheets 11 | each stylesheet in theme.stylesheets 12 | link(rel="stylesheet", href=`${config.root || ''}${stylesheet}.css`) 13 | link(rel="stylesheet", href="/docs/styles/highlight/styles/tomorrow.css") 14 | != footerCSS() 15 | block stylesheets 16 | link(rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css") 17 | script(async src="https://www.googletagmanager.com/gtag/js?id=UA-65952334-11") 18 | script(type='text/javascript'). 19 | window.dataLayer = window.dataLayer || []; 20 | function gtag(){ dataLayer.push(arguments); }; 21 | gtag('js', new Date()); 22 | gtag('config', 'UA-65952334-11'); 23 | -------------------------------------------------------------------------------- /themes/coding-help/source/images/icons/prev.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icons/prev 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/far.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | FAR Style (c) MajestiC 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #000080; 12 | } 13 | 14 | .hljs, 15 | .hljs-subst { 16 | color: #0ff; 17 | } 18 | 19 | .hljs-string, 20 | .hljs-attribute, 21 | .hljs-symbol, 22 | .hljs-bullet, 23 | .hljs-built_in, 24 | .hljs-builtin-name, 25 | .hljs-template-tag, 26 | .hljs-template-variable, 27 | .hljs-addition { 28 | color: #ff0; 29 | } 30 | 31 | .hljs-keyword, 32 | .hljs-selector-tag, 33 | .hljs-section, 34 | .hljs-type, 35 | .hljs-name, 36 | .hljs-selector-id, 37 | .hljs-selector-class, 38 | .hljs-variable { 39 | color: #fff; 40 | } 41 | 42 | .hljs-comment, 43 | .hljs-quote, 44 | .hljs-doctag, 45 | .hljs-deletion { 46 | color: #888; 47 | } 48 | 49 | .hljs-number, 50 | .hljs-regexp, 51 | .hljs-literal, 52 | .hljs-link { 53 | color: #0f0; 54 | } 55 | 56 | .hljs-meta { 57 | color: #008080; 58 | } 59 | 60 | .hljs-keyword, 61 | .hljs-selector-tag, 62 | .hljs-title, 63 | .hljs-section, 64 | .hljs-name, 65 | .hljs-strong { 66 | font-weight: bold; 67 | } 68 | 69 | .hljs-emphasis { 70 | font-style: italic; 71 | } 72 | -------------------------------------------------------------------------------- /source/test-management/plans/manage.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 管理测试计划 - CODING 帮助中心 3 | pageTitle: 管理测试计划 4 | pagePrevTitle: 执行测试计划 5 | pagePrev: test-management/plans/execute.html 6 | pageNextTitle: 自动化用例库 7 | pageNext: test-management/automatic.html 8 | --- 9 | 10 | > 仅项目管理员拥有管理测试计划的权限。 11 | 12 | 进入项目之后,点击左侧导航栏「测试管理」->「测试计划」。在测试计划列表,点击任一测试计划进入其详情页面。 13 | * 通过页面右上角的菜单按钮,你可以进行复制、编辑、归档或删除操作。 14 | * 打开「只测我的」开关后,点击开始测试后只会显示分配给我的测试任务。 15 | 16 | ![](https://help-assets.codehub.cn/enterprise/20210514144813.png) 17 | 18 | ### [复制](#copy) 19 | 20 | 该操作将会把当前测试计划复制成一个新的测试计划。点击复制时可以筛选特定状态的测试用例,比如过滤已通过的测试,将未通过的测试用例重新组成为一个新的测试计划。 21 | 22 | ![](https://help-assets.codehub.cn/enterprise/20210514151643.png) 23 | 24 | ### [编辑](#edit) 25 | 26 | 测试计划支持重新修改标题与执行方式、分配给新的处理人、更改测试环境与重新圈选测试用例。 27 | 28 | ![](https://help-assets.codehub.cn/enterprise/20210514153158.png) 29 | 30 | ### [归档](#archive) 31 | 32 | 若后续不再操作此测试计划,可将测试计划归档。归档后无法继续测试与编辑,**且不可撤销归档操作**。此外,如果改变了与已归档的测试计划关联的测试用例的内容(比如,标题、预期结果等),此改变将不会应用到已归档测试计划中。 33 | 34 | ![](https://help-assets.codehub.cn/enterprise/20210514154542.png) 35 | 36 | ### [删除](#delete) 37 | 38 | 删除操作不可撤销,请谨慎操作。 39 | 40 | ![](https://help-assets.codehub.cn/enterprise/20210514154918.png) 41 | 42 | ==== 2021/09/09 ==== 43 | -------------------------------------------------------------------------------- /themes/coding-help/source/images/icons/select-arrow-blue.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icons/select-arrow-blue 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /source/common/project-statistics.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 如何查看项目统计与生成项目报告? - CODING 帮助中心 3 | pageTitle: 如何查看项目统计与生成项目报告? 4 | pagePrevTitle: 5 | pagePrev: 6 | pageNextTitle: 7 | pageNext: 8 | --- 9 | 10 | 项目统计功能,用户可以直观的查看各个项目的统计状况和项目进展。 11 | 12 | ![img](https://dn-coding-net-production-pp.codehub.cn/b16b8b13-41e5-43a3-ba1f-a437a0405369.jpg) 13 | 14 | **项目任务统计** 15 | 16 | ![img](https://dn-coding-net-production-pp.codehub.cn/c7b28f12-b7e0-4ee2-8e25-9b9df800f56a.jpg) 17 | 18 | **项目代码统计** 19 | 20 | ![img](https://dn-coding-net-production-pp.codehub.cn/1751d89f-f856-49b8-b347-0ae7252d5119.jpg) 21 | 22 | ### 项目报告 23 | 24 | > 只有项目管理员可以生成项目报告。 25 | 26 | 1. 进入项目「统计 —— 项目报告」页面,点击右上角「新建报告」 27 | 28 | ![img](https://dn-coding-net-production-pp.codehub.cn/8b67e671-f0b5-4377-a24d-c854ef838ea0.jpg) 29 | 30 | 2. 选择生成报告的开始及截止日期,根据内容做自定义调整,点击「提交报告」即可自动生成此时间段的项目报告 31 | 32 | ![img](https://dn-coding-net-production-pp.codehub.cn/b8cf53b3-f93e-458c-985a-711143dc5506.jpg) 33 | 34 | 3. 点击刚才生成的报告可以查看报告详情 35 | 36 | ![img](https://dn-coding-net-production-pp.codehub.cn/f000787f-3fa6-4d08-a3ad-c2030a26b582.jpg) 37 | 38 | ![img](https://dn-coding-net-production-pp.codehub.cn/a23df9f2-509d-4aca-9907-5213b0430e74.jpg) 39 | 40 | ==== 2020/08/13 ==== 41 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/arta.css: -------------------------------------------------------------------------------- 1 | /* 2 | Date: 17.V.2011 3 | Author: pumbur 4 | */ 5 | 6 | .hljs { 7 | display: block; 8 | overflow-x: auto; 9 | padding: 0.5em; 10 | background: #222; 11 | } 12 | 13 | .hljs, 14 | .hljs-subst { 15 | color: #aaa; 16 | } 17 | 18 | .hljs-section { 19 | color: #fff; 20 | } 21 | 22 | .hljs-comment, 23 | .hljs-quote, 24 | .hljs-meta { 25 | color: #444; 26 | } 27 | 28 | .hljs-string, 29 | .hljs-symbol, 30 | .hljs-bullet, 31 | .hljs-regexp { 32 | color: #ffcc33; 33 | } 34 | 35 | .hljs-number, 36 | .hljs-addition { 37 | color: #00cc66; 38 | } 39 | 40 | .hljs-built_in, 41 | .hljs-builtin-name, 42 | .hljs-literal, 43 | .hljs-type, 44 | .hljs-template-variable, 45 | .hljs-attribute, 46 | .hljs-link { 47 | color: #32aaee; 48 | } 49 | 50 | .hljs-keyword, 51 | .hljs-selector-tag, 52 | .hljs-name, 53 | .hljs-selector-id, 54 | .hljs-selector-class { 55 | color: #6644aa; 56 | } 57 | 58 | .hljs-title, 59 | .hljs-variable, 60 | .hljs-deletion, 61 | .hljs-template-tag { 62 | color: #bb1166; 63 | } 64 | 65 | .hljs-section, 66 | .hljs-doctag, 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | 71 | .hljs-emphasis { 72 | font-style: italic; 73 | } 74 | -------------------------------------------------------------------------------- /themes/coding-help/source/images/icons/select-arrow.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icons/select-arrow 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /source/collaboration/pattern/classic/blocking.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 阻塞关系 - CODING 帮助中心 3 | pageTitle: 阻塞关系 4 | pagePrevTitle: 管理缺陷 5 | pagePrev: collaboration/pattern/classic/bugs.html 6 | pageNextTitle: 工时统计 7 | pageNext: collaboration/pattern/classic/working-hours.html 8 | --- 9 | 10 | 如果某事项 A 受其他事项 B 进度的影响造成了阻碍,则可以将事项 B 定义为事项 A 的「阻塞关系」。CODING 项目协同事项(需求、任务、缺陷)内均支持设置「阻塞关系」,分为前置事项与后置事项两种: 11 | - 前置事项:当前事项开始前需要完成的事项; 12 | - 后置事项:后置事项开始前需要完成当前事项。 13 | 14 | 下文将以需求为例,演示如何设置并查看「阻塞关系」。 15 | 16 | ### [设置阻塞关系](#configure) 17 | 18 | 1. 进入事项的编辑页面后,点击 `···` 菜单按钮,选择「阻塞关系」。 19 | 20 | ![](https://help-assets.codehub.cn/enterprise/20210628135435.png) 21 | 22 | 2. 在「阻塞关系」菜单中选择「前置/后置事项」,输入事项 ID 或标题,即可查找并完成关联。 23 | 24 | ![](https://help-assets.codehub.cn/enterprise/20210628140145.png) 25 | 26 | 3. 在已关联阻塞事项的末端`···`菜单内,可以解除当前阻塞关系。 27 | 28 | ![](https://help-assets.codehub.cn/enterprise/20210628142638.png) 29 | 30 | ### [查看阻塞关系](#check) 31 | 32 | 1. 在任一事项详情页内,即可查看已与当前事项关联的阻塞关系。 33 | 34 | ![](https://help-assets.codehub.cn/enterprise/20210628143153.png) 35 | 36 | 2. 团队可以在「计划」内的甘特图中,查看指定事项的阻塞关系并进行快速修改,详情可查阅[《计划》](/docs/collaboration/pattern/classic/plan.html)。 37 | 38 | ![](https://help-assets.codehub.cn/enterprise/20210623183709.png) 39 | 40 | ==== 2021/07/02 ==== 41 | -------------------------------------------------------------------------------- /themes/coding-help/source/images/icons/arrow-down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icons/arrow-down 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/ir-black.css: -------------------------------------------------------------------------------- 1 | /* 2 | IR_Black style (c) Vasily Mikhailitchenko 3 | */ 4 | 5 | .hljs { 6 | display: block; 7 | overflow-x: auto; 8 | padding: 0.5em; 9 | background: #000; 10 | color: #f8f8f8; 11 | } 12 | 13 | .hljs-comment, 14 | .hljs-quote, 15 | .hljs-meta { 16 | color: #7c7c7c; 17 | } 18 | 19 | .hljs-keyword, 20 | .hljs-selector-tag, 21 | .hljs-tag, 22 | .hljs-name { 23 | color: #96cbfe; 24 | } 25 | 26 | .hljs-attribute, 27 | .hljs-selector-id { 28 | color: #ffffb6; 29 | } 30 | 31 | .hljs-string, 32 | .hljs-selector-attr, 33 | .hljs-selector-pseudo, 34 | .hljs-addition { 35 | color: #a8ff60; 36 | } 37 | 38 | .hljs-subst { 39 | color: #daefa3; 40 | } 41 | 42 | .hljs-regexp, 43 | .hljs-link { 44 | color: #e9c062; 45 | } 46 | 47 | .hljs-title, 48 | .hljs-section, 49 | .hljs-type, 50 | .hljs-doctag { 51 | color: #ffffb6; 52 | } 53 | 54 | .hljs-symbol, 55 | .hljs-bullet, 56 | .hljs-variable, 57 | .hljs-template-variable, 58 | .hljs-literal { 59 | color: #c6c5fe; 60 | } 61 | 62 | .hljs-number, 63 | .hljs-deletion { 64 | color:#ff73fd; 65 | } 66 | 67 | .hljs-emphasis { 68 | font-style: italic; 69 | } 70 | 71 | .hljs-strong { 72 | font-weight: bold; 73 | } 74 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/magula.css: -------------------------------------------------------------------------------- 1 | /* 2 | Description: Magula style for highligh.js 3 | Author: Ruslan Keba 4 | Website: http://rukeba.com/ 5 | Version: 1.0 6 | Date: 2009-01-03 7 | Music: Aphex Twin / Xtal 8 | */ 9 | 10 | .hljs { 11 | display: block; 12 | overflow-x: auto; 13 | padding: 0.5em; 14 | background-color: #f4f4f4; 15 | } 16 | 17 | .hljs, 18 | .hljs-subst { 19 | color: black; 20 | } 21 | 22 | .hljs-string, 23 | .hljs-title, 24 | .hljs-symbol, 25 | .hljs-bullet, 26 | .hljs-attribute, 27 | .hljs-addition, 28 | .hljs-variable, 29 | .hljs-template-tag, 30 | .hljs-template-variable { 31 | color: #050; 32 | } 33 | 34 | .hljs-comment, 35 | .hljs-quote { 36 | color: #777; 37 | } 38 | 39 | .hljs-number, 40 | .hljs-regexp, 41 | .hljs-literal, 42 | .hljs-type, 43 | .hljs-link { 44 | color: #800; 45 | } 46 | 47 | .hljs-deletion, 48 | .hljs-meta { 49 | color: #00e; 50 | } 51 | 52 | .hljs-keyword, 53 | .hljs-selector-tag, 54 | .hljs-doctag, 55 | .hljs-title, 56 | .hljs-section, 57 | .hljs-built_in, 58 | .hljs-tag, 59 | .hljs-name { 60 | font-weight: bold; 61 | color: navy; 62 | } 63 | 64 | .hljs-emphasis { 65 | font-style: italic; 66 | } 67 | 68 | .hljs-strong { 69 | font-weight: bold; 70 | } 71 | -------------------------------------------------------------------------------- /themes/coding-help/source/images/book-icons/pro.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | premium 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/color-brewer.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Colorbrewer theme 4 | Original: https://github.com/mbostock/colorbrewer-theme (c) Mike Bostock 5 | Ported by Fabrício Tavares de Oliveira 6 | 7 | */ 8 | 9 | .hljs { 10 | display: block; 11 | overflow-x: auto; 12 | padding: 0.5em; 13 | background: #fff; 14 | } 15 | 16 | .hljs, 17 | .hljs-subst { 18 | color: #000; 19 | } 20 | 21 | .hljs-string, 22 | .hljs-meta, 23 | .hljs-symbol, 24 | .hljs-template-tag, 25 | .hljs-template-variable, 26 | .hljs-addition { 27 | color: #756bb1; 28 | } 29 | 30 | .hljs-comment, 31 | .hljs-quote { 32 | color: #636363; 33 | } 34 | 35 | .hljs-number, 36 | .hljs-regexp, 37 | .hljs-literal, 38 | .hljs-bullet, 39 | .hljs-link { 40 | color: #31a354; 41 | } 42 | 43 | .hljs-deletion, 44 | .hljs-variable { 45 | color: #88f; 46 | } 47 | 48 | 49 | 50 | .hljs-keyword, 51 | .hljs-selector-tag, 52 | .hljs-title, 53 | .hljs-section, 54 | .hljs-built_in, 55 | .hljs-doctag, 56 | .hljs-type, 57 | .hljs-tag, 58 | .hljs-name, 59 | .hljs-selector-id, 60 | .hljs-selector-class, 61 | .hljs-strong { 62 | color: #3182bd; 63 | } 64 | 65 | .hljs-emphasis { 66 | font-style: italic; 67 | } 68 | 69 | .hljs-attribute { 70 | color: #e6550d; 71 | } 72 | -------------------------------------------------------------------------------- /themes/coding-help/source/images/icons/next.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icons/next 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /source/cd/question/cloud-account.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 云账号相关问题 - CODING 帮助中心 3 | pageTitle: 云账号相关问题 4 | pagePrevTitle: Kubernetes 云账号的最小权限要求 5 | pagePrev: cd/question/private-repo.html 6 | pageNextTitle: CODING 静态网站服务 7 | pageNext: cd/static-website.html 8 | --- 9 | 10 | ### 使用 TKE 云账号进行部署时报错 11 | 12 | 使用 TKE 云账号部署时报错: 13 | 14 | ```bash 15 | Deploy failed: error: unable to recognize "STDIN": no matches for kind "Deployment" in version "apps/v1" 16 | ``` 17 | 18 | 这是因为以下两个资源在 istio 已经废弃,需要手动在集群删除资源。 19 | 20 | ```bash 21 | kubectl delete apiservice v1alpha1.rbac.istio.io 22 | kubectl delete apiservice v1alpha2.config.istio.io 23 | ``` 24 | 25 | ### [各项云账号的区别是什么?](#different) 26 | 27 | - TKE 28 | 29 | 如果您是从[腾讯云控制台](https://console.cloud.tencent.com/coding)中登录 CODING DevOps 平台,才会在云账号中显示此类账号,支持使用 k8s 部署。 30 | 31 | - Kubernetes 32 | 33 | 支持 Kubeconfig 和 Service Account 两个常用凭据与 K8s 部署。 34 | 35 | - 腾讯云账号 36 | 37 | 即腾讯云 API 密钥,不支持 K8s 部署,常用于弹性伸缩组部署与 tsf 部署。 38 | 39 | ### [提示云账号已存在怎么办?](#cloud-account-exits) 40 | 41 | 云账号支持自定义命名,你可以选用新的云账号名称以避免冲突。 42 | 43 | ### [无法删除云账号](#unable-delete) 44 | 45 | 删除云账号时提示:云账号已被 xxxx应用使用,无法改名或删除,若需删除,请先解除关联关系。因为应用是和云账号关联的,删除云账号前需删除该账号所关联的应用资源。你可以前往「部署控制台」→「应用」→「Kubernetes 集群」删除已绑定的应用资源。 46 | 47 | 48 | 49 | 50 | ==== 2020/08/13 ==== 51 | -------------------------------------------------------------------------------- /source/orbit/detail/basic.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 应用详情 - CODING 帮助中心 3 | pageTitle: 应用详情 4 | pagePrevTitle: true 5 | pagePrev: true 6 | sitemap: false 7 | --- 8 | 9 | 在应用的基础信息面板,你可以查看应用概览、发布记录与发布应用时的所需环境。 10 | 11 | ![](https://help-assets.codehub.cn/enterprise/20211103170746.png) 12 | 13 | ### [应用概览](#intro) 14 | 15 | 关系拓扑图中的内容由所关联代码仓库的 `yaml` 类型文件中元数据中定义的 `name` 名称所决定,将自动去重。 16 | 17 | ![](https://help-assets.codehub.cn/enterprise/20211103170345.png) 18 | 19 | 例如在[快速开始](/docs/orbit/start.html)中,已在关联仓库的 `templates` 目录中定义了 `yaml` 文件类型,那么拓扑图将自动抓取文件元数据中所定义的 `name` 参数用以绘制关系拓扑图。 20 | 21 | ![](https://help-assets.codehub.cn/enterprise/20211103150119.png) 22 | 23 | ### [未发布变更](#unposted-changes) 24 | 25 | 服务:对比上个已发布的版本号,统计有多少个微服务镜像发生了变更,自动对比应用的发布版本号与最新推送镜像版本中的数量差异。 26 | 27 | 配置:对比上个已发布版本中 `value.yaml` 文件中所改变的行数。 28 | 29 | 数据:对比上个已发布版本中数据库的变更个数。 30 | 31 | ![](https://help-assets.codehub.cn/enterprise/20211103170533.png) 32 | 33 | ### [发布记录](#deploy-record) 34 | 35 | 此处将展示应用的历次部署记录。 36 | 37 | ![](https://help-assets.codehub.cn/enterprise/20211103154435.png) 38 | 39 | ### [环境](#env) 40 | 41 | 环境可以理解为应用的发布与运行空间。提前在基础设施中添加集群后,在环境中便可以指定应用将要发布的集群。环境配置完成后,你可以查看集群的运行版本与监控信息,还支持进行集群的配置管理、监控与告警的配置等。 42 | 43 | ![](https://help-assets.codehub.cn/enterprise/20211103155704.png) 44 | 45 | ==== 2021/10/17 ==== 46 | -------------------------------------------------------------------------------- /source/ci/artifacts/outside.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 推送至外部仓库 - CODING 帮助中心 3 | pageTitle: 推送至外部仓库 4 | pagePrevTitle: 构建 npm 类型制品 5 | pagePrev: ci/artifacts/npm.html 6 | pageNextTitle: 自动生成版本号 7 | pageNext: ci/artifacts/version.html 8 | alias: ci/artifacts/outside.html 9 | --- 10 | 11 | 本文档将介绍如何将制品推送至其他项目的制品仓库。例如,你希望使用 A 项目的持续集成任务将构建后的制品推送至 B 项目或其他第三方制品仓库中,将分为以下两步: 12 | 13 | 1. 在 B 项目中新建项目令牌 / 获取第三方制品仓库的用户名与密码 14 | 1. 在 A 项目中的持续集成任务中添加环境变量 15 | 16 | ### [创建项目令牌](#create-token) 17 | 18 | 在 B 项目的「项目设置」→「开发者选项」中创建「项目令牌」,填写名称后勾选「制品仓库」的「读写」权限。 19 | 20 | ![](https://help-assets.codehub.cn/enterprise/20211104195810.png) 21 | 22 | 创建后会获取令牌的用户名与密码。 23 | 24 | ![](https://help-assets.codehub.cn/enterprise/20211104195908.png) 25 | 26 | ### [使用令牌](#use-token) 27 | 28 | 在 A 项目的持续集成任务中,录入环境变量,填写在 B 项目中已创建的令牌用户名与密码或第三方制品仓库的用户名与密码,建议使用两项变量名: 29 | 30 | ```shell 31 | CODING_ARTIFACTS_USERNAME 32 | CODING_ARTIFACTS_PASSWORD 33 | ``` 34 | 35 | ![](https://help-assets.codehub.cn/enterprise/20211102110324.png) 36 | 37 | #### [Jenkinsfile 参考](#jenkinsfile) 38 | 39 | ```groovy 40 | stage('发布到 maven 制品库') { 41 | steps { 42 | echo "${env.CODING_ARTIFACTS_USERNAME}" 43 | sh 'mvn clean install' 44 | sh 'mvn deploy -s ./settings.xml' 45 | } 46 | } 47 | ``` 48 | 49 | ==== 2021/11/05 ==== 50 | -------------------------------------------------------------------------------- /source/code-scan/plan/auto-match.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 自动匹配语言 - CODING 帮助中心 3 | pageTitle: 自动匹配语言 4 | pagePrevTitle: 方案模板 5 | pagePrev: code-scan/plan/template.html 6 | pageNextTitle: 常见问题 7 | pageNext: code-scan/faq.html 8 | --- 9 | 10 | 扫描方案支持识别并匹配目标开发语言,自动选用合适的扫描规则包。适用于不确定目标代码仓库语言及想要快速体验代码扫描的用户。 11 | 12 | ### [使用场景](#condition) 13 | 14 | - **代码仓库** 15 | 16 | 新建代码仓库时,选用开启代码扫描并选择使用自动匹配语言。设置完成后,无需关注后续提交至仓库的开发代码语言类型,提交有效代码后将自动根据语言属性匹配默认的扫描规则。 17 | 18 | ![](https://help-assets.codehub.cn/enterprise/20211027141820.png) 19 | 20 | - **持续集成** 21 | 22 | 前往持续集成任务的配置页,在流程配置中加入代码扫描步骤,勾选自动匹配语言。设置完成后,仅需更改上一步骤的代码检出源,即可针对不同的仓库执行代码扫描任务,而无需逐一配置不同语言的方案。若扫描任务已稳定运行,还可以将此持续集成任务设置为[团队模板](/docs/ci/manage/team-template.html)。 23 | 24 | ![](https://help-assets.codehub.cn/enterprise/20211027145607.png) 25 | 26 | ### [匹配规则](#rule) 27 | 28 | - **初始化机制** 29 | 30 | 自动匹配语言机制将获取仓库中有效代码的语言分布,启用语言属性对应的推荐规则包,并使用启用的规则包集合执行扫描。启用规则包后将不再继续根据后续代码仓库中的开发代码变更,而匹配新的扫描规则包,避免持续匹配导致来的规则集自动变更。 31 | 32 | - **基础标签规则包** 33 | 34 | 获取语言属性后,将启用该语言下带有基础标签的规则包,比如 Java 语言将启用 Java 基础规则包+Xcheck 规则包。 35 | 36 | - **代码过滤** 37 | 38 | 仅会匹配有效代码,将忽略仓库中如 `READEME.md`、`.gitignore` 等基础文件。 39 | 40 | - **限制匹配范围** 41 | 42 | 仅匹配代码仓库中占比 TOP3 的语言属性,避免方案启用大量与仓库低相关度的扫描规则,拖慢扫描任务的运行速度。 43 | 44 | ==== 2021/10/27 ==== 45 | 46 | -------------------------------------------------------------------------------- /source/ci/faq/artifacts.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 持续集成与制品库 - CODING 帮助中心 3 | pageTitle: 持续集成与制品库 4 | pagePrevTitle: 持续集成与代码仓库 5 | pagePrev: ci/faq/ci-repo.html 6 | pageNextTitle: 词汇表 7 | pageNext: ci/glossary.html 8 | --- 9 | 10 | ### [为什么会超过拉取限额?](#dockerhub-limited) 11 | 12 | 使用 CI 拉取镜像时提示 `reached your pull rate limit` 报错,如下图所示: 13 | 14 | ![](https://help-assets.codehub.cn/enterprise/20210507145959.png) 15 | 16 | 这是因为 dockerhub 的免费账户存在镜像拉取次数限制,CODING 的出口 IP 达到了 dockerhub 的拉取次数限制而出现的错误,您可以参考下文中的两个办法解决此问题: 17 | 18 | - 将镜像托管至 CODING Docker 制品仓库,详情请参考[《快速开始——Docker 制品库》](/docs/artifacts/quick-start/docker.html) 19 | 20 | - 使用个人 Dockerhub 账号 21 | 22 | 若您没有 dockerhub 账号,请[点击前往](https://hub.docker.com)注册账号; 23 | 24 | 注册完成后修改构建计划配置,在 docker 执行命令前添加此行,填入已注册的账号: 25 | 26 | ```bash 27 | docker login -u -p 28 | username=$(docker info | sed '/Username:/!d;s/.* //'); 29 | echo $username 30 | ``` 31 | 执行时可以在日志查看到正在使用的 dockerhub 账号,若账号符合拉取次数限制条件即可解决此问题。 32 | 33 | ![](https://help-assets.codehub.cn/enterprise/20210507144801.png) 34 | 35 | ### [如何自动获取代码 tag 作为制品的版本号?](#version) 36 | 37 | `${GIT_TAG}` 是内置的环境变量,设计初衷是为了在配有监听 TAG 触发的构建计划中,监听到 TAG 后获取最新的 TAG 值以保存至变量中,因此只有在通过 TAG 触发构建计划的时候此变量才有参数值,其他的触发方式(手动、定时、远程触发)触发构建时此值为空。 38 | 39 | 40 | 41 | ==== 2021/05/07 ==== 42 | -------------------------------------------------------------------------------- /source/ci/node/pool.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 构建节点池 - CODING 帮助中心 3 | pageTitle: 构建节点池 4 | pagePrevTitle: Worker 常用命令 5 | pagePrev: ci/node/worker.html 6 | pageNextTitle: 分组管理 7 | pageNext: ci/manage/group.html 8 | alias: devops/ci/node/pool.html 9 | --- 10 | 11 | ### 功能介绍 12 | 13 | 构建节点池是构建节点的集合,在使用自定义的构建节点时,需要将构建节点接入构建节点池,并通过将构建计划节点池配置来指定构建节点池。 14 | 15 | ![](https://help-assets.codehub.cn/enterprise/20210915170500.png) 16 | 17 | ### 权限控制 18 | 19 | 用户组需具备「团队构建节点」权限才能进行创建/删除构建节点池等操作。点击右上角头像下拉处的「团队管理」→「权限配置」为用户组勾选开启相应的权限。 20 | 21 | ![](https://help-assets.codehub.cn/enterprise/20210915171405.png) 22 | 23 | 单个项目内支持设置多个构建节点池,每个构建节点池支持接入多个构建节点。在构建节点池详情中的节点列表可以查看节点状态并对其进行管理。 24 | 25 | ### 节点状态 26 | 27 | - 闲置:构建节点此时空闲。 28 | - 占用:构建节点已被分配到构建任务中使用。 29 | - 准备中:构建节点正在准备构建环境。 30 | - 开启:只有处于开启状态的节点才能被分配使用,如果关闭节点不会影响正在运行的构建任务。 31 | - 删除:节点将会脱离 CODING 持续集成服务,但只会删除工作空间和相关的配置信息,之前产生的全局缓存文件仍会保留。 32 | - 构建节点池详情内可以查看节点的构建记录。 33 | 34 | ![](https://help-assets.codehub.cn/enterprise/20200624153054.png) 35 | 36 | 构建节点池默认授权给所有构建计划,您也可以选择只授权给指定的构建计划(支持多选)。 37 | 38 | ![](https://help-assets.codehub.cn/enterprise/20200624153211.png) 39 | 40 | 在构建计划的基础信息设置中可以修改相应的节点池配置。构建计划默认使用 CODING 提供的云主机,您也可以选择其它项目内配置的节点池进行构建。 41 | 42 | ![](https://help-assets.codehub.cn/enterprise/20200624153449.png) 43 | 44 | ==== 2020/08/13 ==== 45 | -------------------------------------------------------------------------------- /themes/coding-help/source/images/icons/nav-close.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icons/nav-close 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/monokai.css: -------------------------------------------------------------------------------- 1 | /* 2 | Monokai style - ported by Luigi Maselli - http://grigio.org 3 | */ 4 | 5 | .hljs { 6 | display: block; 7 | overflow-x: auto; 8 | padding: 0.5em; 9 | background: #272822; color: #ddd; 10 | } 11 | 12 | .hljs-tag, 13 | .hljs-keyword, 14 | .hljs-selector-tag, 15 | .hljs-literal, 16 | .hljs-strong, 17 | .hljs-name { 18 | color: #f92672; 19 | } 20 | 21 | .hljs-code { 22 | color: #66d9ef; 23 | } 24 | 25 | .hljs-class .hljs-title { 26 | color: white; 27 | } 28 | 29 | .hljs-attribute, 30 | .hljs-symbol, 31 | .hljs-regexp, 32 | .hljs-link { 33 | color: #bf79db; 34 | } 35 | 36 | .hljs-string, 37 | .hljs-bullet, 38 | .hljs-subst, 39 | .hljs-title, 40 | .hljs-section, 41 | .hljs-emphasis, 42 | .hljs-type, 43 | .hljs-built_in, 44 | .hljs-builtin-name, 45 | .hljs-selector-attr, 46 | .hljs-selector-pseudo, 47 | .hljs-addition, 48 | .hljs-variable, 49 | .hljs-template-tag, 50 | .hljs-template-variable { 51 | color: #a6e22e; 52 | } 53 | 54 | .hljs-comment, 55 | .hljs-quote, 56 | .hljs-deletion, 57 | .hljs-meta { 58 | color: #75715e; 59 | } 60 | 61 | .hljs-keyword, 62 | .hljs-selector-tag, 63 | .hljs-literal, 64 | .hljs-doctag, 65 | .hljs-title, 66 | .hljs-section, 67 | .hljs-type, 68 | .hljs-selector-id { 69 | font-weight: bold; 70 | } 71 | -------------------------------------------------------------------------------- /source/start/more.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 索引 - CODING 帮助中心 3 | pageTitle: 索引 4 | pagePrevTitle: 邀请同事加入团队 5 | pagePrev: start/invite-colleague.html 6 | pageNextTitle: 创建&导入项目 7 | pageNext: start/project.html 8 | --- 9 | 10 | ### [准备](#1) 11 | 12 | - [认识 CODING DevOps](/docs/start/new.html) 13 | - [创建或加入团队](/docs/start/register-invite.html) 14 | - [选择适合您的项目模板](/docs/start/template.html) 15 | - [新建项目](/docs/start/project.html) 16 | - [项目基础设置](/docs/collaboration/settings/basic.html) 17 | 18 | --- 19 | 20 | ### [开始使用](#2) 21 | 22 | - [开启您的团队协作](/docs/collaboration/pattern/classic-go.html) 23 | - [快速上手 Git 代码托管](/docs/repo/start.html) 24 | - [在浏览器中编写代码(在线 IDE)](/docs/cs/start.html) 25 | - [三分钟快速部署网站](/docs/pages/operating/deploy.html) 26 | - [使用 Wiki 打造团队内知识库](/docs/management/wiki.html) 27 | - [使用团队网盘进行协作](/docs/management/files.html) 28 | 29 | --- 30 | 31 | ### [探索更多](#3) 32 | 33 | - [使用持续集成实践 Nodejs](/docs/ci/start.html) 34 | - [三分钟使用持续部署发布应用](/docs/cd/start.html) 35 | - [上传你的第一个 Docker 制品](/docs/artifacts/quick-start/docker.html) 36 | - [使用制品扫描功能](/docs/artifacts/scan/projects.html) 37 | - [快速上手测试管理](/docs/test-management/start.html) 38 | - [仪表盘](/docs/pro/dashboard.html) 39 | - [团队目标 OKR](/docs/pro/okr.html) 40 | - [工作负载](/docs/pro/efficacy-measure.html) 41 | 42 | ==== 2021/08/10==== 43 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/darcula.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Darcula color scheme from the JetBrains family of IDEs 4 | 5 | */ 6 | 7 | 8 | .hljs { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | background: #2b2b2b; 13 | } 14 | 15 | .hljs { 16 | color: #bababa; 17 | } 18 | 19 | .hljs-strong, 20 | .hljs-emphasis { 21 | color: #a8a8a2; 22 | } 23 | 24 | .hljs-bullet, 25 | .hljs-quote, 26 | .hljs-link, 27 | .hljs-number, 28 | .hljs-regexp, 29 | .hljs-literal { 30 | color: #6896ba; 31 | } 32 | 33 | .hljs-code, 34 | .hljs-selector-class { 35 | color: #a6e22e; 36 | } 37 | 38 | .hljs-emphasis { 39 | font-style: italic; 40 | } 41 | 42 | .hljs-keyword, 43 | .hljs-selector-tag, 44 | .hljs-section, 45 | .hljs-attribute, 46 | .hljs-name, 47 | .hljs-variable { 48 | color: #cb7832; 49 | } 50 | 51 | .hljs-params { 52 | color: #b9b9b9; 53 | } 54 | 55 | .hljs-string { 56 | color: #6a8759; 57 | } 58 | 59 | .hljs-subst, 60 | .hljs-type, 61 | .hljs-built_in, 62 | .hljs-builtin-name, 63 | .hljs-symbol, 64 | .hljs-selector-id, 65 | .hljs-selector-attr, 66 | .hljs-selector-pseudo, 67 | .hljs-template-tag, 68 | .hljs-template-variable, 69 | .hljs-addition { 70 | color: #e0c46c; 71 | } 72 | 73 | .hljs-comment, 74 | .hljs-deletion, 75 | .hljs-meta { 76 | color: #7f7f7f; 77 | } 78 | -------------------------------------------------------------------------------- /source/ci/manage/group.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 分组管理 - CODING 帮助中心 3 | pageTitle: 分组管理 4 | pagePrevTitle: 构建节点池 5 | pagePrev: ci/node/pool.html 6 | pageNextTitle: 团队构建模板 7 | pageNext: ci/manage/team-template.html 8 | alias: 9 | - devops/ci/group.html 10 | - ci/group.html 11 | --- 12 | 13 | ### 星标与分组 14 | 15 | 构建计划还支持星标与分组,可以帮助快速定位到自己关注的构建计划。 16 | 17 | - 星标功能 18 | 19 | 个人选项,设置后仅对个人生效。点击单个构建计划区域中的星标按钮后,可以在「我的星标」 tab 栏中仅查看星标构建计划。 20 | 21 | ![](https://help-assets.codehub.cn/enterprise/20200924193538.png) 22 | 23 | - 分组功能 24 | 25 | 全局选项,仅开放给「持续集成管理」权限的用户。设置后的构建计划分组归类对项目内内成员可见,方便项目内构建计划的整理。 26 | 27 | 点击【更多】->【创建分组】可以创建分组,点击后输入分组名即可创建。 28 | 29 | ![](https://help-assets.codehub.cn/enterprise/20200924193859.png) 30 | 31 | 还可以修改分组名称、排序,也可以创建和删除分组。 32 | 33 | *注意:删除分组不会删除分组中的构建计划,分组删除后,分组内的构建计划将会被归类到 “未分组” 类别。* 34 | 35 | ![](https://help-assets.codehub.cn/enterprise/20200924193934.png) 36 | 37 | 点击【批量整理构建计划】可以进入构建计划整理页面,可以一次性选择多个构建计划至同一个分组当中。添加完成后就可以在单独的分组 tab 页中看到勾选的构建计划。 38 | 39 | ![](https://help-assets.codehub.cn/enterprise/20200924194030.png) 40 | 41 | ### 筛选与排序 42 | 43 | 在构建计划页面右侧的搜索栏中可以根据构建计划名称进行筛选。选择【筛选器】->【只看我触发的】,构建计划中将会显示由用户本人最新一次触发的构建记录,并且在构建记录展示页,也可以开启此筛选按钮。 44 | 45 | ![](https://help-assets.codehub.cn/enterprise/20200924195635.png) 46 | 47 | 除此之外,还可以按照构建计划最新构建记录的触发时间排序。 48 | 49 | 50 | ==== 2020/09/25 ==== 51 | -------------------------------------------------------------------------------- /source/repo/glossary.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 词汇表 - CODING 帮助中心 3 | pageTitle: 词汇表 4 | pagePrevTitle: 常见问题 5 | pagePrev: repo/faq.html 6 | --- 7 | 8 | ### [提交](#commit) 9 | 10 | 源自 Git commit 命令,是指 Git 的一次改动记录。每次提交会产生一个独一无二的提交 ID,即一串 hash 值。 11 | 12 | ### [代码分支](#branch) 13 | 14 | 版本控制系统的基本概念。基于原始开发主线,分离出一份平行的 Git 仓库,可以允许开发者在不影响原有主线的情况下继续工作。 15 | 16 | ### [保护分支](#protected-branch) 17 | 18 | 保护分支是 CODING 针对 Git 中有关代码权限开发的一个特色功能,可以将选中的分支保护起来,防止未经报备的代码更改。开启后,保护分支在分支列表中将以绿色盾牌为标志。详情请参考[此处](/docs/repo/branch/protected.html)。 19 | 20 | ### [默认分支](#default-branch) 21 | 22 | 即主干分支。新建 Git 仓库时至少会有一个分支,而这时候的第一个分支通常叫做 `master` 或者 `main`,常常为默认分支。详情请参考[此处](/docs/repo/branch/default.html)。 23 | 24 | ### [状态检查](#status-check) 25 | 26 | 常用于合并请求场景。某个分支开启状态检查后,此分支上的代码合并请求必须通过持续集成任务后(通常情况下,它们为预发布环境)才能进行合并,完成变更。 27 | 28 | ### [分支管理员](#branch-admin) 29 | 30 | 指有权限调整保护分支设置、是否放行涉及保护分支合并请求的成员。 31 | 32 | ### [部署公钥](#deploy-key) 33 | 34 | 添加至某一个代码仓库的 SSH 公钥称为部署公钥,拥有该公钥的用户同时具备只读与读写仓库权限。 35 | 36 | ### [账户 SSH 公钥](#account-ssh-key) 37 | 38 | 添加至「个人账户设置」下的 SSH 公钥称为账户 SSH 公钥,配置后拥有账户下所有代码仓库的读写权限。 39 | 40 | ### [代码所有者](#code-owner) 41 | 42 | 翻译自英文 Code owner,有些代码托管平台也将其翻译为代码属主。该功能允许将某些用户声明为一部分代码仓库代码的拥有者,修改这部分代码需要获得代码所有者的同意。 43 | 44 | ### [评审者](#review) 45 | 46 | 创建合并请求时,发起人可以将某些用户添加为评审者,这代表发起人希望这些用户对他的代码改动进行评审,并给予允许合并的行为。 47 | 48 | ==== 2021/11/05 ==== 49 | -------------------------------------------------------------------------------- /themes/coding-help/source/images/icons/menu-list.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icons/menu-list 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /source/admin/member/cloud.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 从腾讯云导入成员 - CODING 帮助中心 3 | pageTitle: 通过腾讯云导入成员 4 | pagePrevTitle: 通过企业微信导入成员 5 | pagePrev: admin/member/wecom.html 6 | pageNextTitle: 通过 LDAP 导入成员 7 | pageNext: admin/member/ldap.html 8 | alias: admin/members/cloud.html 9 | --- 10 | 11 | ### [腾讯云导入指引](#introduction) 12 | 13 | CODING 支持从腾讯云导入腾讯云子账号列表,暂不支持腾讯云导入组织结构。选择腾讯云类型支持部门的创建、删除、移动、重命名操作,支持已导入的子账号移动到部门操作。 14 | 15 | ![](https://help-assets.codehub.cn/enterprise/20201117165629.png) 16 | 17 | 如未绑定腾讯云账号,将弹窗提示前往绑定腾讯云账号。 18 | 19 | ![](https://help-assets.codehub.cn/enterprise/20210412140502.png) 20 | 21 | 如腾讯云授权登录态已过期,将弹出腾讯云登录弹窗,支持微信扫码和账号密码授权。 22 | 23 | 执行导入操作后,页面会显示导入进度。 24 | 25 | ![](https://help-assets.codehub.cn/enterprise/20201117165841.png) 26 | 27 | 导入完成后,需对成员进行授权操作,为对应成员授予访问 CODING 服务的团队权限。 28 | 29 | ![](https://help-assets.codehub.cn/enterprise/20210507165129.png) 30 | 31 | ### [腾讯云子账号登录指引](#login) 32 | 33 | CODING 支持使用腾讯云导入的成员管理,支持腾讯云子账号导入到 CODING 成员系统,经授权后(授权同时会授予 QcloudCODINGFullAccess 策略),腾讯云子账号可在登录页面登录 CODING。 34 | 35 | 在登录页面输入主账号 ID、用户名、密码,点击登录。 36 | 37 | 登录条件: 38 | 39 | - 主账号已在腾讯云 [CODING DevOps 控制台](https://console.cloud.tencent.com/coding)开通服务 40 | - 对应子账号存在 QcloudCODINGFullAccess 策略 41 | - 子账号登录时需验证 CODING 账号 42 | 43 | ![](https://help-assets.codehub.cn/enterprise/20210410095036.png) 44 | 45 | ==== 2021/11/02 ==== 46 | -------------------------------------------------------------------------------- /source/repo/best-practice/new.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 在代码仓库中使用代码扫描 - CODING 帮助中心 3 | pageTitle: 在代码仓库中使用代码扫描 4 | pagePrevTitle: CODING 多仓库实践 5 | pagePrev: repo/best-practice/multi-repo.html 6 | pageNextTitle: 提交合并请求时触发代码扫描 7 | pageNext: repo/best-practice/mr.html 8 | alias: 9 | - host/codedog/repo/new.html 10 | - best-practices/host/new.html 11 | --- 12 | 13 | CODING 代码扫描能够通过分析代码仓库中的源代码,能够及时发现其中潜藏的代码缺陷、安全漏洞以及不规范代码;自动生成问题列表,附带修改建议,便于团队成员修复问题进而提升代码的稳定性;还可以通过对代码进行度量,统计出结构异常复杂的方法及重复代码供开发人员调整,进而提升代码的可维护性,提升团队效率。 14 | 15 | ### [使用代码扫描的理由](#why) 16 | 17 | 代码质量问题并非一开始就显得那样引人注目。相反,它在日常工作中显得并不起眼,每一次代码的更新迭代都有可能造成小微质量问题的堆积。正如海恩法则里所揭露的真相:任何严重事故都是有征兆的,每个事故征兆背后,还有 300 次左右的事故苗头。代码质量问题暴露得越晚则越浪费的人力、时间成本越高。如果能在代码并入正式环境前就能够通过代码扫描规避安全漏洞,就可以降低测试期间的人力耗费,降低问题的解决成本。 18 | 19 | CODING 代码扫描还可以根据设置的触发规则,在合适的时机比如新建合并请求时、代码上线前自动执行代码扫描,帮助你评估更新代码中存在的问题,进而提升人工评审的效率。 20 | 21 | ### [扫描任务完成后如何查看扫描结果](#view-result) 22 | 23 | 前往「扫描任务」,就可以看到历次扫描任务的执行结果。 24 | 25 | ![](https://help-assets.codehub.cn/enterprise/20200910143604.png) 26 | 27 | 点击进入任一任务,可以在问题概览中查看各等级的问题数量、代码重复率、代码统计详情和圈复杂度等详细统计信息。在 tab 栏目切换还可以查看问题列表、度量结果、扫描历史和扫描任务设置。 28 | 29 | ![](https://help-assets.codehub.cn/enterprise/20200910143503.png) 30 | 31 | ### [为什么需要编译配置](#why-compile) 32 | 33 | 并非所有语言都需要编译配置,但例如 Java 语言需要执行编译命令进行编译后才能进行扫描,用以追踪更深层次的代码缺陷。你仅需选择编译工具即可生成推荐的编译命令,也可以根据项目需要,自行编辑编译命令。 34 | 35 | ==== 2020/09/10 ==== 36 | -------------------------------------------------------------------------------- /source/artifacts/scan/intro.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 产品简介 - CODING 帮助中心 3 | pageTitle: 产品简介 4 | pagePrevTitle: 常见问题 5 | pagePrev: artifacts/faq.html 6 | pageNextTitle: 快速开始 7 | pageNext: artifacts/scan/projects.html 8 | --- 9 | 10 | ### [**功能介绍**](#intro) 11 | 12 | CODING 制品仓库的扫描功能可以在不访问源代码的情况下,通过扫描二进制组件及其元数据,找寻组件中存在的漏洞。制品扫描功能支持与持续集成/持续部署模块相集成。您可以在方案中预设质量红线标准,杜绝问题组件发布至生产环境。同时,扫描方案还支持提供详细扫描记录和缺陷统计。 13 | 14 | ### [**词汇表**](#vocabulary) 15 | 16 | #### [扫描方案](#plan) 17 | 18 | 用于规定扫描规则、质量红线,以及被执行扫描的制品包。扫描方案只能应用于当前项目内的制品仓库,每个扫描方案都有唯一的扫描 ID。扫描方案可以应用于当前仓库下的任意仓库 -> 任意制品包 -> 任意制品版本。触发方式可以选择制品包更新时自动触发或选择制品版本手动触发。 19 | 20 | #### [扫描规则](#rule) 21 | 22 | 用于规定扫描时关注的制品缺陷内容,可以指定关注的漏洞等级并设置漏洞白名单。 23 | 24 | #### [质量红线](#threshold) 25 | 26 | 用于规定扫描结果是否通过的标准,设置各等级漏洞累计/新增的数量范围。 27 | 28 | #### [方案应用](#apply) 29 | 30 | 单个扫描方案可以复用于各类型的制品仓库中的任意制品版本,触发方式支持制品包更新时自动触发与手动触发。 31 | 32 | #### [方案类型](#type) 33 | 34 | 扫描方案支持安全漏洞扫描与移动端安装包质量检查两种类型。移动端安装包质量检查方案由「腾讯云安装包质量检查 IPT」提供主要能力。除了两种类型外,制品扫描还将继续拓展更多制品扫描能力。 35 | 36 | - **安全漏洞扫描** 37 | 38 | 扫描制品及其依赖的公共组件中存在的安全漏洞。漏洞的定义采用 CVE 国际通用标准及评级;制品扫描采用的组件漏洞特征库由云鼎实验室维护,为腾讯安全提供超过 20 年的行业经验积累,由专门的安全运营团队实时更新。 39 | 40 | 支持的制品类型仓库为:Docker, Maven, npm, PyPI 41 | 42 | - **移动端安装包质量扫描** 43 | 44 | 对 Android / iOS 操作系统的安装包进行安装包大小、重复文件、图片等进行规范检查。 45 | 46 | 支持 Generic 类型制品仓库中 `.ipa` 和 `.apk` 格式的制品文件。 47 | 48 | ==== 2020/11/18 ==== 49 | -------------------------------------------------------------------------------- /source/document/api/apidoc.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: apiDOC 导入指南 - CODING 帮助中心 3 | pageTitle: apiDOC 导入指南 4 | pagePrevTitle: Postman 导入指南 5 | pagePrev: management/api/postman.html 6 | pageNextTitle: OpenAPI 导入指南 7 | pageNext: management/api/openapi.html 8 | --- 9 | 10 | [apiDOC](http://apidocjs.com/) 是一款通过注释或注解生成 API 文档的工具,支持 Java、PHP、JS 等多种语言,生成方便,但文档体验较差。您可通过将生成文档中间文件 `api_data.json` 导入至「CODING API 文档」,生成精美的 API 文档。 11 | 12 | ### 获得 apiDOC API 数据文件 13 | 14 | ![](https://help-assets.codehub.cn/enterprise/20191008072425.png) 15 | 16 | 如图所示为 [apiDOC 示例文档](http://apidocjs.com/example/),通过 apiDOC 生成的 API 文档同理。 17 | 18 | ![](https://help-assets.codehub.cn/enterprise/20191008072744.png) 19 | 20 | 将地址栏中地址最后加上 `api_data.json`,即 `http://apidocjs.com/example/api_data.json` 即为 API 数据文件地址。 21 | 22 | ### 通过 URL 导入 23 | 24 | 如图所示,在【发布新版本】页或者【录入 API 数据页】,选择【导入数据】下的【从 URL 导入】,粘贴刚才复制的 API 数据文件地址,最后选择【完成并发布】实现文档发布。 25 | 26 | ![](https://help-assets.codehub.cn/enterprise/20191008071500.png) 27 | 28 | ### 通过上传文件导入 29 | 30 | 在网页上右键点击弹出菜单,选择 `存储为` 将 API 数据文件保存至本地。 31 | 32 | ![](https://help-assets.codehub.cn/enterprise/20191008073104.png) 33 | 34 | 在【发布新版本】页或者【录入 API 数据页】,选择【导入数据】下的【从文件导入】,导入刚才存到本地的`api_data.json`文件,最后选择【完成并发布】实现文档发布。 35 | ![](https://help-assets.codehub.cn/enterprise/20191008065650.png) 36 | 37 | ==== 2020/08/13 ==== 38 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/gml.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | GML Theme - Meseta 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #222222; 12 | color: #C0C0C0; 13 | } 14 | 15 | .hljs-keywords { 16 | color: #FFB871; 17 | font-weight: bold; 18 | } 19 | 20 | .hljs-built_in { 21 | color: #FFB871; 22 | } 23 | 24 | .hljs-literal { 25 | color: #FF8080; 26 | } 27 | 28 | .hljs-symbol { 29 | color: #58E55A; 30 | } 31 | 32 | .hljs-comment { 33 | color: #5B995B; 34 | } 35 | 36 | .hljs-string { 37 | color: #FFFF00; 38 | } 39 | 40 | .hljs-number { 41 | color: #FF8080; 42 | } 43 | 44 | .hljs-attribute, 45 | .hljs-selector-tag, 46 | .hljs-doctag, 47 | .hljs-name, 48 | .hljs-bullet, 49 | .hljs-code, 50 | .hljs-addition, 51 | .hljs-regexp, 52 | .hljs-variable, 53 | .hljs-template-variable, 54 | .hljs-link, 55 | .hljs-selector-attr, 56 | .hljs-selector-pseudo, 57 | .hljs-type, 58 | .hljs-selector-id, 59 | .hljs-selector-class, 60 | .hljs-quote, 61 | .hljs-template-tag, 62 | .hljs-deletion, 63 | .hljs-title, 64 | .hljs-section, 65 | .hljs-function, 66 | .hljs-meta-keyword, 67 | .hljs-meta, 68 | .hljs-subst { 69 | color: #C0C0C0; 70 | } 71 | 72 | .hljs-emphasis { 73 | font-style: italic; 74 | } 75 | 76 | .hljs-strong { 77 | font-weight: bold; 78 | } 79 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/school-book.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | School Book style from goldblog.com.ua (c) Zaripov Yura 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 15px 0.5em 0.5em 30px; 11 | font-size: 11px; 12 | line-height:16px; 13 | background:#f6f6ae url(./school-book.png); 14 | border-top: solid 2px #d2e8b9; 15 | border-bottom: solid 1px #d2e8b9; 16 | } 17 | 18 | .hljs-keyword, 19 | .hljs-selector-tag, 20 | .hljs-literal { 21 | color:#005599; 22 | font-weight:bold; 23 | } 24 | 25 | .hljs, 26 | .hljs-subst { 27 | color: #3e5915; 28 | } 29 | 30 | .hljs-string, 31 | .hljs-title, 32 | .hljs-section, 33 | .hljs-type, 34 | .hljs-symbol, 35 | .hljs-bullet, 36 | .hljs-attribute, 37 | .hljs-built_in, 38 | .hljs-builtin-name, 39 | .hljs-addition, 40 | .hljs-variable, 41 | .hljs-template-tag, 42 | .hljs-template-variable, 43 | .hljs-link { 44 | color: #2c009f; 45 | } 46 | 47 | .hljs-comment, 48 | .hljs-quote, 49 | .hljs-deletion, 50 | .hljs-meta { 51 | color: #e60415; 52 | } 53 | 54 | .hljs-keyword, 55 | .hljs-selector-tag, 56 | .hljs-literal, 57 | .hljs-doctag, 58 | .hljs-title, 59 | .hljs-section, 60 | .hljs-type, 61 | .hljs-name, 62 | .hljs-selector-id, 63 | .hljs-strong { 64 | font-weight: bold; 65 | } 66 | 67 | .hljs-emphasis { 68 | font-style: italic; 69 | } 70 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/tomorrow.css: -------------------------------------------------------------------------------- 1 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 2 | 3 | /* Tomorrow Comment */ 4 | .hljs-comment, 5 | .hljs-quote { 6 | color: #8e908c; 7 | } 8 | 9 | /* Tomorrow Red */ 10 | .hljs-variable, 11 | .hljs-template-variable, 12 | .hljs-tag, 13 | .hljs-name, 14 | .hljs-selector-id, 15 | .hljs-selector-class, 16 | .hljs-regexp, 17 | .hljs-deletion { 18 | color: #c82829; 19 | } 20 | 21 | /* Tomorrow Orange */ 22 | .hljs-number, 23 | .hljs-built_in, 24 | .hljs-builtin-name, 25 | .hljs-literal, 26 | .hljs-type, 27 | .hljs-params, 28 | .hljs-meta, 29 | .hljs-link { 30 | color: #f5871f; 31 | } 32 | 33 | /* Tomorrow Yellow */ 34 | .hljs-attribute { 35 | color: #eab700; 36 | } 37 | 38 | /* Tomorrow Green */ 39 | .hljs-string, 40 | .hljs-symbol, 41 | .hljs-bullet, 42 | .hljs-addition { 43 | color: #718c00; 44 | } 45 | 46 | /* Tomorrow Blue */ 47 | .hljs-title, 48 | .hljs-section { 49 | color: #4271ae; 50 | } 51 | 52 | /* Tomorrow Purple */ 53 | .hljs-keyword, 54 | .hljs-selector-tag { 55 | color: #8959a8; 56 | } 57 | 58 | .hljs { 59 | display: block; 60 | overflow-x: auto; 61 | background: white; 62 | color: #4d4d4c; 63 | padding: 0.5em; 64 | } 65 | 66 | .hljs-emphasis { 67 | font-style: italic; 68 | } 69 | 70 | .hljs-strong { 71 | font-weight: bold; 72 | } 73 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/zenburn.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Zenburn style from voldmar.ru (c) Vladimir Epifanov 4 | based on dark.css by Ivan Sagalaev 5 | 6 | */ 7 | 8 | .hljs { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | background: #3f3f3f; 13 | color: #dcdcdc; 14 | } 15 | 16 | .hljs-keyword, 17 | .hljs-selector-tag, 18 | .hljs-tag { 19 | color: #e3ceab; 20 | } 21 | 22 | .hljs-template-tag { 23 | color: #dcdcdc; 24 | } 25 | 26 | .hljs-number { 27 | color: #8cd0d3; 28 | } 29 | 30 | .hljs-variable, 31 | .hljs-template-variable, 32 | .hljs-attribute { 33 | color: #efdcbc; 34 | } 35 | 36 | .hljs-literal { 37 | color: #efefaf; 38 | } 39 | 40 | .hljs-subst { 41 | color: #8f8f8f; 42 | } 43 | 44 | .hljs-title, 45 | .hljs-name, 46 | .hljs-selector-id, 47 | .hljs-selector-class, 48 | .hljs-section, 49 | .hljs-type { 50 | color: #efef8f; 51 | } 52 | 53 | .hljs-symbol, 54 | .hljs-bullet, 55 | .hljs-link { 56 | color: #dca3a3; 57 | } 58 | 59 | .hljs-deletion, 60 | .hljs-string, 61 | .hljs-built_in, 62 | .hljs-builtin-name { 63 | color: #cc9393; 64 | } 65 | 66 | .hljs-addition, 67 | .hljs-comment, 68 | .hljs-quote, 69 | .hljs-meta { 70 | color: #7f9f7f; 71 | } 72 | 73 | 74 | .hljs-emphasis { 75 | font-style: italic; 76 | } 77 | 78 | .hljs-strong { 79 | font-weight: bold; 80 | } 81 | -------------------------------------------------------------------------------- /source/common/code-sec.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 代码托管在 CODING 是否安全? - CODING 帮助中心 3 | pageTitle: 代码托管在 CODING 是否安全 4 | --- 5 | 6 | 这个问题有两个层面,一是代码托管在云端是否安全,二是代码托管在 CODING 是否安全。 7 | 8 | 1. 相对于把代码托管到云端,把代码放在本地是否就安全呢? 9 | -代码放在本地,首先需要搭建一套代码管理系统并有专人维护,其次需要建立安全机制,保障服务器的稳定和数据的安全性,以上两项都有一定的技术要求和较高的成本支出; 10 | -代码托管在具备技术实力和安全保障的专业云服务商,在保障代码安全的基础上,还可以使用更多更好的功能,享受专业的服务,相比之下更加省时省力省钱; 11 | -国内企业 SaaS 服务经过多年发展已经比较成熟,企业将人力信息、财务信息、客户信息、产品部署都放在云服务商,对于中小企业来说,选择一家有技术安全实力的云服务提供商比自己搭建一套系统更加安全高效。 12 | 2. 代码托管到 CODING 是否安全呢? 13 | -CODING 是目前国内市场上唯一一个基于企业级 Java 技术完全自主研发的一站式软件研发平台,相比其它基于开源项目改造的更加安全、可控性更高,同时具备更强的扩展性,不容易受到被公开的漏洞攻击。 14 | -CODING 网站通信采用 HTTPS 的方式,代码推拉采用 HTTPS 或 SSH 方式,全程加密传输数据,避免数据传输过程中的泄漏; 15 | -CODING 可设置成员权限,可锁定异常成员,访问资源都须要用户 OAuth 认证,有效控制企业资源的访问权限; 16 | -CODING 提供二次验证、密码规则设置等功能,可以有效防止企业成员账号遗失或被盗导致的企业信息泄漏; 17 | -CODING 提供详细的操作日志,可通过记录追溯企业成员的操作行为,可及时发现异常操作; 18 | -CODING 具有完善的运维安全机制,详细参见 。 19 | -CODING 具备超高可用的架构设计,CODING 代码仓库使用分区存储策略存放于不同的存储服务器上,将其挂载到计算服务器 Worker 上,相互之间不产生影响。一台 Worker 出问题,负载会自动分配到其他服务器上,单个 Repo 出问题,只需恢复这个 Repo 的数据即可,其他 Repo 不受影响。在客户环境满足的情况下,CODING 可以提供卓越的高可用能力,保证代码的安全性。 20 | -CODING 代码仓库支持硬盘 Raid、全程加密传输、定时备份、实时备份等多种手段保证代码的安全,最大程度降低代码管理风险。 21 | -CODING 为收费服务,收费服务意味着契约精神,CODING 有责任保障客户的代码及相关资产的安全; 22 | -CODING 自 2014 年运营至今,服务了 80 万的个人开发者和数千家企业用户,未出现信息泄漏的事件,在开发者全体中拥有良好的口碑和信誉; 23 | 24 | ==== 2020/08/13 ==== 25 | -------------------------------------------------------------------------------- /source/repo/svn/permission.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 管理 SVN 目录权限 - CODING 帮助中心 3 | pageTitle: 管理 SVN 目录权限 4 | pagePrevTitle: 访问 SVN 仓库 5 | pagePrev: repo/svn/access.html 6 | pageNextTitle: SSH 协议使用——配置 SSH 公钥 7 | pageNext: repo/ssh/config.html 8 | --- 9 | 10 | SVN 仓库现支持权限控制,管理员能够为单独的用户设置指定目录的权限。管理员可以为仓库及子目录单独设置以下 3 种权限: 11 | 12 | - **只读**:只能查看设置的目录,不能写入,允许检出。 13 | - **读写**:可对设置的目录进行查看和写入,允许检出。 14 | - **无权限**:不能查看也不能写入,禁止检出。 15 | 16 | ### [设置权限](#set-permission) 17 | 18 | 因每个用户默认对仓库都有读写权限,若需对 SVN 仓库中的某一目录进行权限控制,点击该目录的更多操作按钮,选择「权限」。 19 | 20 | ![](https://help-assets.codehub.cn/enterprise/20200702145532.png) 21 | 22 | 在弹出的权限设置页面,您可以为该目录添加单独的用户与相应权限。 23 | 24 | ![](https://help-assets.codehub.cn/enterprise/20200702145720.png) 25 | 26 | 设置完成后,已配置了权限控制的目录将以不同颜色来区分。若没有对目录配置过权限控制,目录默认显示为黑色,用户拥有对其的**读写**权限。 27 | 28 | - **读写**:黑色(默认) 29 | - **只读**:黄色 30 | - **无权限**:灰色 31 | 32 | 33 | ![](https://help-assets.codehub.cn/enterprise/20200702150533.png) 34 | 35 | ### [权限覆盖说明](#overwrite) 36 | 37 | 在某些场景下,可能会存在父目录与子级目录均设置了权限,且权限不一致的情况(例如,父目录权限为只读而子目录权限为读写)。 38 | 39 | SVN 仓库中父目录与子目录的权限覆盖规则如下: 40 | 41 | - 若父目录设置了权限,子目录未设置权限,则子目录继承父目录权限。 42 | - 若父目录与子目录均设置了权限,以子目录的权限为准。例如: 43 | 1. 父目录权限为**读写**,子目录权限为**只读**,则子目录实际为**只读**权限。 44 | 2. 父目录权限为**只读**,子目录权限为**读写**,则子目录实际为**读写**权限。 45 | 3. 父目录权限为**读写**或**只读**,子目录**无权限**,则子目录实际为**无权限**。 46 | 47 | 48 | 49 | ==== 2021/11/07 ==== 50 | -------------------------------------------------------------------------------- /themes/coding-help/source/images/icons/liked.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icons/liked 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /source/ci/artifacts/generic.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Generic - CODING 帮助中心 3 | pageTitle: Generic 4 | pagePrevTitle: 构建 Docker 类型制品 5 | pagePrev: ci/artifacts/docker.html 6 | pageNextTitle: 构建 Maven 类型制品 7 | pageNext: ci/artifacts/maven.html 8 | alias: ci/artifacts/generic.html 9 | --- 10 | 11 | 持续集成生成的文件可保存到文件制品库,适合 React/VUE 等前端项目、Android/iOS/C++ 等客户端项目。 12 | 13 | ### Jenkinsfile 14 | 15 | ```groovy 16 | pipeline { 17 | agent any 18 | stages { 19 | stage('检出') { 20 | steps { 21 | checkout([ 22 | $class: 'GitSCM', 23 | branches: [[name: GIT_BUILD_REF]], 24 | userRemoteConfigs: [[ 25 | url: GIT_REPO_URL, 26 | credentialsId: CREDENTIALS_ID 27 | ]]]) 28 | } 29 | } 30 | stage('构建') { 31 | steps { 32 | sh 'npm install' 33 | sh 'npm run build' 34 | sh 'tar -zcvf shop-web.tar.gz dist' 35 | } 36 | } 37 | stage('保存到制品库') { 38 | steps { 39 | codingArtifactsGeneric(files: 'shop-web.tar.gz', repoName: 'my-generic', version: '1.0.0') 40 | } 41 | } 42 | } 43 | } 44 | ``` 45 | 46 | ### [截图](#screenshots) 47 | 48 | ![](https://help-assets.codehub.cn/enterprise/20210924162937.png) 49 | ![](https://help-assets.codehub.cn/enterprise/20210924163050.png) 50 | 51 | ### 常见问题 52 | 53 | 1. 如何自动生成版本号? 54 | 55 | 请阅读:[自动生成版本号](/docs/ci/artifacts/version.html) 56 | -------------------------------------------------------------------------------- /source/document/api/import/apidoc.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: apiDoc - CODING 帮助中心 3 | pageTitle: apiDoc 4 | pagePrevTitle: Postman 导入指南 5 | pagePrev: management/api/postman.html 6 | pageNextTitle: OpenAPI 导入指南 7 | pageNext: management/api/openapi.html 8 | alias: management/api/import/apidoc.html 9 | --- 10 | 11 | [apiDoc](http://apidocjs.com/) 是一款通过注释或注解生成 API 文档的工具,支持 Java、PHP、JS 等多种语言,生成方便,但文档体验较差。您可通过将生成文档中间文件 `api_data.json` 导入至「CODING API 文档」,生成精美的 API 文档。 12 | 13 | ### 获得 apiDoc API 数据文件 14 | 15 | ![](https://help-assets.codehub.cn/enterprise/20191008072425.png) 16 | 17 | 如图所示为 [apiDoc 示例文档](http://apidocjs.com/example/),通过 apiDoc 生成的 API 文档同理。 18 | 19 | ![](https://help-assets.codehub.cn/enterprise/20191008072744.png) 20 | 21 | 将地址栏中地址最后加上 `api_data.json`,即 `http://apidocjs.com/example/api_data.json` 即为 API 数据文件地址。 22 | 23 | ### 通过 URL 导入 24 | 25 | 如图所示,在【发布新版本】页或者【录入 API 数据页】,选择【导入数据】下的【从 URL 导入】,粘贴刚才复制的 API 数据文件地址,最后选择【完成并发布】实现文档发布。 26 | 27 | ![](https://help-assets.codehub.cn/enterprise/20191008071500.png) 28 | 29 | ### 通过上传文件导入 30 | 31 | 在网页上右键点击弹出菜单,选择 `存储为` 将 API 数据文件保存至本地。 32 | 33 | ![](https://help-assets.codehub.cn/enterprise/20191008073104.png) 34 | 35 | 在【发布新版本】页或者【录入 API 数据页】,选择【导入数据】下的【从文件导入】,导入刚才存到本地的`api_data.json`文件,最后选择【完成并发布】实现文档发布。 36 | ![](https://help-assets.codehub.cn/enterprise/20191008065650.png) 37 | 38 | ==== 2020/08/13 ==== 39 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/ocean.css: -------------------------------------------------------------------------------- 1 | /* Ocean Dark Theme */ 2 | /* https://github.com/gavsiu */ 3 | /* Original theme - https://github.com/chriskempson/base16 */ 4 | 5 | /* Ocean Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #65737e; 9 | } 10 | 11 | /* Ocean Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-tag, 15 | .hljs-name, 16 | .hljs-selector-id, 17 | .hljs-selector-class, 18 | .hljs-regexp, 19 | .hljs-deletion { 20 | color: #bf616a; 21 | } 22 | 23 | /* Ocean Orange */ 24 | .hljs-number, 25 | .hljs-built_in, 26 | .hljs-builtin-name, 27 | .hljs-literal, 28 | .hljs-type, 29 | .hljs-params, 30 | .hljs-meta, 31 | .hljs-link { 32 | color: #d08770; 33 | } 34 | 35 | /* Ocean Yellow */ 36 | .hljs-attribute { 37 | color: #ebcb8b; 38 | } 39 | 40 | /* Ocean Green */ 41 | .hljs-string, 42 | .hljs-symbol, 43 | .hljs-bullet, 44 | .hljs-addition { 45 | color: #a3be8c; 46 | } 47 | 48 | /* Ocean Blue */ 49 | .hljs-title, 50 | .hljs-section { 51 | color: #8fa1b3; 52 | } 53 | 54 | /* Ocean Purple */ 55 | .hljs-keyword, 56 | .hljs-selector-tag { 57 | color: #b48ead; 58 | } 59 | 60 | .hljs { 61 | display: block; 62 | overflow-x: auto; 63 | background: #2b303b; 64 | color: #c0c5ce; 65 | padding: 0.5em; 66 | } 67 | 68 | .hljs-emphasis { 69 | font-style: italic; 70 | } 71 | 72 | .hljs-strong { 73 | font-weight: bold; 74 | } 75 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/paraiso-dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | Paraíso (dark) 3 | Created by Jan T. Sott (http://github.com/idleberg) 4 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br) 5 | */ 6 | 7 | /* Paraíso Comment */ 8 | .hljs-comment, 9 | .hljs-quote { 10 | color: #8d8687; 11 | } 12 | 13 | /* Paraíso Red */ 14 | .hljs-variable, 15 | .hljs-template-variable, 16 | .hljs-tag, 17 | .hljs-name, 18 | .hljs-selector-id, 19 | .hljs-selector-class, 20 | .hljs-regexp, 21 | .hljs-link, 22 | .hljs-meta { 23 | color: #ef6155; 24 | } 25 | 26 | /* Paraíso Orange */ 27 | .hljs-number, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params, 33 | .hljs-deletion { 34 | color: #f99b15; 35 | } 36 | 37 | /* Paraíso Yellow */ 38 | .hljs-title, 39 | .hljs-section, 40 | .hljs-attribute { 41 | color: #fec418; 42 | } 43 | 44 | /* Paraíso Green */ 45 | .hljs-string, 46 | .hljs-symbol, 47 | .hljs-bullet, 48 | .hljs-addition { 49 | color: #48b685; 50 | } 51 | 52 | /* Paraíso Purple */ 53 | .hljs-keyword, 54 | .hljs-selector-tag { 55 | color: #815ba4; 56 | } 57 | 58 | .hljs { 59 | display: block; 60 | overflow-x: auto; 61 | background: #2f1e2e; 62 | color: #a39e9b; 63 | padding: 0.5em; 64 | } 65 | 66 | .hljs-emphasis { 67 | font-style: italic; 68 | } 69 | 70 | .hljs-strong { 71 | font-weight: bold; 72 | } 73 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/paraiso-light.css: -------------------------------------------------------------------------------- 1 | /* 2 | Paraíso (light) 3 | Created by Jan T. Sott (http://github.com/idleberg) 4 | Inspired by the art of Rubens LP (http://www.rubenslp.com.br) 5 | */ 6 | 7 | /* Paraíso Comment */ 8 | .hljs-comment, 9 | .hljs-quote { 10 | color: #776e71; 11 | } 12 | 13 | /* Paraíso Red */ 14 | .hljs-variable, 15 | .hljs-template-variable, 16 | .hljs-tag, 17 | .hljs-name, 18 | .hljs-selector-id, 19 | .hljs-selector-class, 20 | .hljs-regexp, 21 | .hljs-link, 22 | .hljs-meta { 23 | color: #ef6155; 24 | } 25 | 26 | /* Paraíso Orange */ 27 | .hljs-number, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params, 33 | .hljs-deletion { 34 | color: #f99b15; 35 | } 36 | 37 | /* Paraíso Yellow */ 38 | .hljs-title, 39 | .hljs-section, 40 | .hljs-attribute { 41 | color: #fec418; 42 | } 43 | 44 | /* Paraíso Green */ 45 | .hljs-string, 46 | .hljs-symbol, 47 | .hljs-bullet, 48 | .hljs-addition { 49 | color: #48b685; 50 | } 51 | 52 | /* Paraíso Purple */ 53 | .hljs-keyword, 54 | .hljs-selector-tag { 55 | color: #815ba4; 56 | } 57 | 58 | .hljs { 59 | display: block; 60 | overflow-x: auto; 61 | background: #e7e9db; 62 | color: #4f424c; 63 | padding: 0.5em; 64 | } 65 | 66 | .hljs-emphasis { 67 | font-style: italic; 68 | } 69 | 70 | .hljs-strong { 71 | font-weight: bold; 72 | } 73 | -------------------------------------------------------------------------------- /source/admin/member/ldap.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 从 LDAP 导入成员 - CODING 帮助中心 3 | pageTitle: 通过 LDAP 导入成员 4 | pagePrevTitle: 通过腾讯云导入成员 5 | pagePrev: admin/member/cloud.html 6 | pageNextTitle: 通过 TCTP 导入成员 7 | pageNext: admin/member/tctp.html 8 | alias: admin/members/ldap.html 9 | --- 10 | 11 | ### [LDAP 导入指引](#introduction) 12 | 13 | CODING 支持从 LDAP 导入部门成员数据。根据填写的配置信息支持两种模式: 14 | 15 | 1. 未填写部门配置。将支持在 CODING 部门组织功能中进行部门的创建、删除、移动、重命名,成员移动到部门等操作。 16 | 2. 已填写部门配置。将不支持在 CODING 部门组织功能中进行部门的创建、删除、移动、重命名,成员移动到部门等操作。如需操作,请前往 LDAP 系统操作后,点击同步按钮即可。 17 | 18 | 按照[《绑定 LDAP 指引》](/docs/admin/service-integration/ldap.html)完成绑定操作后,进入「团队设置中心」->「全局设置」->「组织与成员」->「成员管理」,选择 `AD/LDAP` 导入成员。 19 | 20 | 导入开始后可以在页面中查看进度。 21 | 22 | ![](https://help-assets.codehub.cn/enterprise/20201117175625.png) 23 | 24 | ### [登录指引](#login) 25 | 26 | 在登录页面中选择 AD/LDAP 登录后,填写团队域名、用户名、密码之后确认登录。 27 | 28 | ![AD/LDAP 登录页](https://help-assets.codehub.cn/enterprise/20210707142748.png) 29 | 30 | 确认登录后,若不是首次被授权访问,将直接进入 CODING 功能页面。若是首次被授权访问,系统将询问您是否使用已有账号登录 CODING 或注册新账号。 31 | 32 | ![使用已有账号登录 CODING 或注册新账号](https://help-assets.codehub.cn/enterprise/20210707143002.png) 33 | 34 | 如您选择已有账号登录,输入登录邮箱、密码后,即可完成加入团队。 35 | 36 | ![选择已有账号登录](https://help-assets.codehub.cn/enterprise/20210707143244.png) 37 | 38 | 如您选择注册新账号加入,填写登录邮箱、验证码、密码后,即可完成注册并加入团队。 39 | 40 | ![注册新账号加入](https://help-assets.codehub.cn/enterprise/20210707143050.png) 41 | 42 | ==== 2021/09/29 ==== 43 | -------------------------------------------------------------------------------- /source/repo/git/go-get.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Go get 支持 - CODING 帮助中心 3 | pageTitle: Go get 支持 4 | pagePrevTitle: LFS 使用 5 | pagePrev: repo/git/lfs.html 6 | pageNextTitle: 最佳实践——CODING 多仓库实践 7 | pageNext: repo/best-practice/multi-repo.html 8 | alias: 9 | - host/go-get.html 10 | - host/git/go-get.html 11 | --- 12 | 13 | ### [功能介绍](#intro) 14 | 15 | Golang Get 可以借助代码管理工具通过远程拉取或更新代码包及其依赖包,并自动完成编译和安装,使得整个过程就像安装应用程式一样简单。目前 CODING 代码仓库已支持在多仓库中使用 **go get** 功能,以下是快速上手指南。 16 | 17 | ### [快速开始](#start) 18 | 19 | 假如用户拥有 A 仓库,其代码仓库的 Git HTTPS 地址是:`https://e.coding.net/{team}/{project}/{repo}.git`(花括号中是变量,以实际情况为准),以该仓库 [https://e.coding.net/baulk/jackson/mux.git](https://e.coding.net/baulk/jackson/mux.git) 为例: 20 | 21 | 用户可以通过以下命令设置好模块名。 22 | 23 | ```shell 24 | go mod init e.coding.net/baulk/jackson/mux 25 | ``` 26 | 27 | 如果要通过 go get 获得模块,可以运行如下命令: 28 | 29 | ```shell 30 | go get e.coding.net/baulk/jackson/mux 31 | ``` 32 | 33 | 另外多仓库也支持获取子仓库的模块: 34 | 35 | ```shell 36 | go get e.coding.net/baulk/jackson/mux/dev 37 | ``` 38 | 39 | 有一些存储库的 Git HTTPS 克隆地址是: `https://e.coding.net/{team}/{project}.git`,用户可以通过如下命令设置好模块名: 40 | 41 | ```shell 42 | go mod init e.coding.net/team/project 43 | ``` 44 | 45 | 如果要通过 go get 获得模块,可以运行如下命令: 46 | 47 | ```shell 48 | go get e.coding.net/team/project 49 | ``` 50 | 51 | 请注意,此类存储库不完全支持直接获取子模块,你应该使用 `e.coding.net/team/project/project` 作为模块名、获得模块及其子模块。 52 | 53 | ==== 2020/11/04 ==== 54 | -------------------------------------------------------------------------------- /source/admin/member/feishu.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 导入飞书成员 - CODING 帮助中心 3 | pageTitle: 导入飞书成员 4 | pagePrevTitle: 通过腾讯云导入成员 5 | pagePrev: admin/member/cloud.html 6 | pageNextTitle: 通过 TCTP 导入成员 7 | pageNext: admin/member/tctp.html 8 | alias: admin/members/ldap.html 9 | --- 10 | 11 | ### [导入指引](#intro) 12 | 13 | 完成[飞书绑定](/docs/admin/service-integration/feishu.html)后,前往「团队设置中心」-> 「全局设置」->「组织与成员」->「成员管理」开始进行成员与组织架构导入。 14 | 15 | ![](https://help-assets.codehub.cn/enterprise/20210927170024.png) 16 | 17 | ### [成员授权与关联](#associate) 18 | 19 | 导入成员后,还需要进行成员授权才能视为正式加入至 CODING 团队。 20 | 21 | 若成员**已加入 CODING 团队**,此时仅需进行「关联」操作就可以与飞书架构中的成员进行数据绑定。 22 | 23 | 成员可以自行前往「个人账户设置」->「绑定设置」中关联飞书账号。 24 | 25 | ![](https://help-assets.codehub.cn/enterprise/20210927171215.png) 26 | 27 | 团队管理员也可以将从飞书成员与现有成员(两者是同一人)进行绑定,完成后将保留该成员的历史数据。 28 | 29 | ![](https://help-assets.codehub.cn/enterprise/20210927171505.png) 30 | 31 | 若成员**从未注册过 CODING**,团队管理员在 CODING 后台「授权」成员时会发送 CODING 团队邀请邮件,成员按照指引依次完成 CODING 账号注册、账号验证后即可加入团队。 32 | 33 | 若成员**已注册过 CODING**,团队管理员在 CODING 后台「授权」成员时会发送 CODING 团队邀请邮件,成员直接点击登录后加入团队即可。 34 | 35 | ### [部门与成员同步](#sync) 36 | 37 | 在部门同步方面,组织架构导入完成后,CODING 中的部门创建、删除、移动、重命名,将成员移动至其他部门等操作将无法进行。如需变更,请前往飞书后台进行操作,设置完成后再点击 CODING 部门列表上方的刷新按钮进行同步。 38 | 39 | 在人员同步方面,CODING 支持自动同步飞书通讯录。若飞书成员由于离职等原因,被删除时将会自动解除与 CODING 团队的关联。 40 | 41 | > 人员范围取决于[绑定飞书](/docs/admin/service-integration/feishu.html)过程中所选择的应用授权范围。 42 | 43 | ==== 2021/09/27 ==== 44 | -------------------------------------------------------------------------------- /themes/coding-help/source/images/icons/menu-search.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icons/menu-search 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/dracula.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Dracula Theme v1.2.0 4 | 5 | https://github.com/zenorocha/dracula-theme 6 | 7 | Copyright 2015, All rights reserved 8 | 9 | Code licensed under the MIT license 10 | http://zenorocha.mit-license.org 11 | 12 | @author Éverton Ribeiro 13 | @author Zeno Rocha 14 | 15 | */ 16 | 17 | .hljs { 18 | display: block; 19 | overflow-x: auto; 20 | padding: 0.5em; 21 | background: #282a36; 22 | } 23 | 24 | .hljs-keyword, 25 | .hljs-selector-tag, 26 | .hljs-literal, 27 | .hljs-section, 28 | .hljs-link { 29 | color: #8be9fd; 30 | } 31 | 32 | .hljs-function .hljs-keyword { 33 | color: #ff79c6; 34 | } 35 | 36 | .hljs, 37 | .hljs-subst { 38 | color: #f8f8f2; 39 | } 40 | 41 | .hljs-string, 42 | .hljs-title, 43 | .hljs-name, 44 | .hljs-type, 45 | .hljs-attribute, 46 | .hljs-symbol, 47 | .hljs-bullet, 48 | .hljs-addition, 49 | .hljs-variable, 50 | .hljs-template-tag, 51 | .hljs-template-variable { 52 | color: #f1fa8c; 53 | } 54 | 55 | .hljs-comment, 56 | .hljs-quote, 57 | .hljs-deletion, 58 | .hljs-meta { 59 | color: #6272a4; 60 | } 61 | 62 | .hljs-keyword, 63 | .hljs-selector-tag, 64 | .hljs-literal, 65 | .hljs-title, 66 | .hljs-section, 67 | .hljs-doctag, 68 | .hljs-type, 69 | .hljs-name, 70 | .hljs-strong { 71 | font-weight: bold; 72 | } 73 | 74 | .hljs-emphasis { 75 | font-style: italic; 76 | } 77 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/qtcreator_dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Qt Creator dark color scheme 4 | 5 | */ 6 | 7 | 8 | .hljs { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | background: #000000; 13 | } 14 | 15 | .hljs, 16 | .hljs-subst, 17 | .hljs-tag, 18 | .hljs-title { 19 | color: #aaaaaa; 20 | } 21 | 22 | .hljs-strong, 23 | .hljs-emphasis { 24 | color: #a8a8a2; 25 | } 26 | 27 | .hljs-bullet, 28 | .hljs-quote, 29 | .hljs-number, 30 | .hljs-regexp, 31 | .hljs-literal { 32 | color: #ff55ff; 33 | } 34 | 35 | .hljs-code 36 | .hljs-selector-class { 37 | color: #aaaaff; 38 | } 39 | 40 | .hljs-emphasis, 41 | .hljs-stronge, 42 | .hljs-type { 43 | font-style: italic; 44 | } 45 | 46 | .hljs-keyword, 47 | .hljs-selector-tag, 48 | .hljs-function, 49 | .hljs-section, 50 | .hljs-symbol, 51 | .hljs-name { 52 | color: #ffff55; 53 | } 54 | 55 | .hljs-attribute { 56 | color: #ff5555; 57 | } 58 | 59 | .hljs-variable, 60 | .hljs-params, 61 | .hljs-class .hljs-title { 62 | color: #8888ff; 63 | } 64 | 65 | .hljs-string, 66 | .hljs-selector-id, 67 | .hljs-selector-attr, 68 | .hljs-selector-pseudo, 69 | .hljs-type, 70 | .hljs-built_in, 71 | .hljs-builtin-name, 72 | .hljs-template-tag, 73 | .hljs-template-variable, 74 | .hljs-addition, 75 | .hljs-link { 76 | color: #ff55ff; 77 | } 78 | 79 | .hljs-comment, 80 | .hljs-meta, 81 | .hljs-deletion { 82 | color: #55ffff; 83 | } 84 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/qtcreator_light.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Qt Creator light color scheme 4 | 5 | */ 6 | 7 | 8 | .hljs { 9 | display: block; 10 | overflow-x: auto; 11 | padding: 0.5em; 12 | background: #ffffff; 13 | } 14 | 15 | .hljs, 16 | .hljs-subst, 17 | .hljs-tag, 18 | .hljs-title { 19 | color: #000000; 20 | } 21 | 22 | .hljs-strong, 23 | .hljs-emphasis { 24 | color: #000000; 25 | } 26 | 27 | .hljs-bullet, 28 | .hljs-quote, 29 | .hljs-number, 30 | .hljs-regexp, 31 | .hljs-literal { 32 | color: #000080; 33 | } 34 | 35 | .hljs-code 36 | .hljs-selector-class { 37 | color: #800080; 38 | } 39 | 40 | .hljs-emphasis, 41 | .hljs-stronge, 42 | .hljs-type { 43 | font-style: italic; 44 | } 45 | 46 | .hljs-keyword, 47 | .hljs-selector-tag, 48 | .hljs-function, 49 | .hljs-section, 50 | .hljs-symbol, 51 | .hljs-name { 52 | color: #808000; 53 | } 54 | 55 | .hljs-attribute { 56 | color: #800000; 57 | } 58 | 59 | .hljs-variable, 60 | .hljs-params, 61 | .hljs-class .hljs-title { 62 | color: #0055AF; 63 | } 64 | 65 | .hljs-string, 66 | .hljs-selector-id, 67 | .hljs-selector-attr, 68 | .hljs-selector-pseudo, 69 | .hljs-type, 70 | .hljs-built_in, 71 | .hljs-builtin-name, 72 | .hljs-template-tag, 73 | .hljs-template-variable, 74 | .hljs-addition, 75 | .hljs-link { 76 | color: #008000; 77 | } 78 | 79 | .hljs-comment, 80 | .hljs-meta, 81 | .hljs-deletion { 82 | color: #008000; 83 | } 84 | -------------------------------------------------------------------------------- /themes/coding-help/source/images/book-icons/best.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | best 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/rainbow.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Style with support for rainbow parens 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #474949; 12 | color: #d1d9e1; 13 | } 14 | 15 | 16 | .hljs-comment, 17 | .hljs-quote { 18 | color: #969896; 19 | font-style: italic; 20 | } 21 | 22 | .hljs-keyword, 23 | .hljs-selector-tag, 24 | .hljs-literal, 25 | .hljs-type, 26 | .hljs-addition { 27 | color: #cc99cc; 28 | } 29 | 30 | .hljs-number, 31 | .hljs-selector-attr, 32 | .hljs-selector-pseudo { 33 | color: #f99157; 34 | } 35 | 36 | .hljs-string, 37 | .hljs-doctag, 38 | .hljs-regexp { 39 | color: #8abeb7; 40 | } 41 | 42 | .hljs-title, 43 | .hljs-name, 44 | .hljs-section, 45 | .hljs-built_in { 46 | color: #b5bd68; 47 | } 48 | 49 | .hljs-variable, 50 | .hljs-template-variable, 51 | .hljs-selector-id, 52 | .hljs-class .hljs-title { 53 | color: #ffcc66; 54 | } 55 | 56 | .hljs-section, 57 | .hljs-name, 58 | .hljs-strong { 59 | font-weight: bold; 60 | } 61 | 62 | .hljs-symbol, 63 | .hljs-bullet, 64 | .hljs-subst, 65 | .hljs-meta, 66 | .hljs-link { 67 | color: #f99157; 68 | } 69 | 70 | .hljs-deletion { 71 | color: #dc322f; 72 | } 73 | 74 | .hljs-formula { 75 | background: #eee8d5; 76 | } 77 | 78 | .hljs-attr, 79 | .hljs-attribute { 80 | color: #81a2be; 81 | } 82 | 83 | .hljs-emphasis { 84 | font-style: italic; 85 | } 86 | -------------------------------------------------------------------------------- /source/project-settings/service-hook/wecom-robot.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 绑定企业微信群机器人 - CODING 帮助中心 3 | pageTitle: 绑定企业微信群机器人 4 | pagePrevTitle: 过滤器 5 | pagePrev: project-settings/service-hook/filter.html 6 | pageNextTitle: 使用 Service Hook 绑定钉钉机器人 7 | pageNext: project-settings/service-hook/dingtalk-robot.html 8 | alias: project/open/wechat-robot.html 9 | --- 10 | 11 | 项目管理员可使用 Service Hook 功能,将企业微信群聊机器人与 CODING 中的项目关联,以实现在企业微信群聊中推送相关的事项变更、任务指派与代码评审提醒等通知。 12 | 13 | 14 | ### [1. 在群聊中添加机器人](#1) 15 | 16 | 在手机端企业微信的聊天信息中,点击添加群机器人。 17 | 18 | ![](https://help-assets.codehub.cn/enterprise/20210722140626.png) 19 | 20 | 复制 Webhook 地址。 21 | 22 | 图片名称 23 | 24 | ### [2. 新建 Service Hook](#2) 25 | 26 | 进入目标项目,点击左下角的「项目设置」,进入「开发者选项」->「Service Hook」页面,然后点击右上角的新建按钮。 27 | 28 | 29 | ![](https://help-assets.codehub.cn/enterprise/20210722141713.gif) 30 | 31 | 选择企业微信后勾选触发事件类型。 32 | 33 | ![](https://help-assets.codehub.cn/enterprise/20210722142952.png) 34 | 35 | 在服务器 URL 中粘贴在上文中复制的机器人 Webhook 地址。 36 | 37 | ![](https://help-assets.codehub.cn/enterprise/20210722143549.png) 38 | 39 | ### [3. 查看结果](#3) 40 | 41 | 配置完成后即可在企业微信群聊中看到由机器人发起的自动消息推送。 42 | 43 | ![](https://help-assets.codehub.cn/enterprise/20210722162325.png) 44 | 45 | 若您还有其他第三方服务接入需求,参考 [Service Hook 功能](/docs/project-settings/service-hook/intro.html)。 46 | 47 | ==== 2021/07/20 ==== 48 | 49 | -------------------------------------------------------------------------------- /source/admin/message/third-party/wecom.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 企业微信 - CODING 帮助中心 3 | pageTitle: 企业微信 4 | pagePrevTitle: 微信 5 | pagePrev: admin/message/third-party/wechat.html 6 | pageNextTitle: 企业微信群机器人 7 | pageNext: admin/message/third-party/wecom-robot.html 8 | --- 9 | 10 | > 企业微信的 CODING 消息通知能力基于 CODING DevOps+ 小程序提供。 11 | 12 | 若要在企业微信中接受诸如事项状态变更、合并请求评审通知、人工确认等信息,请按照下文指引完成设置。 13 | 14 | ### [1. 准备(管理员操作)](#1) 15 | 16 | 团队管理员点击团队首页右上角的齿轮图标 进入团队设置中心,点击「第三方应用」→「企业微信」进行服务绑定。 17 | 18 | ![](https://help-assets.codehub.cn/enterprise/20210930171456.png) 19 | 20 | 按照提示在企业微信中添加应用,建议范围选择公司全员。 21 | 22 | ![](https://help-assets.codehub.cn/enterprise/20210722114636.png) 23 | 24 | 添加后,完成企业微信小程序绑定。 25 | 26 | ### [2. 个人账户绑定](#2) 27 | 28 | 前往「个人账户设置」→「绑定设置」扫码绑定企业微信。 29 | 30 | ![](https://help-assets.codehub.cn/enterprise/20210722115133.png) 31 | 32 | > 若提示「团队管理员未开启该功能」,请联系管理员完成上文的准备操作。 33 | 34 | ### [3. 接受消息](#3) 35 | 36 | 完成上述操作后,当团队中有人指派事项给自己时将在企业微信中弹出通知。 37 | 38 | ![](https://help-assets.codehub.cn/enterprise/20210722141923.png) 39 | 40 | ![](https://help-assets.codehub.cn/enterprise/20210722142036.png) 41 | 42 | ### [4. 管理通知消息](#4) 43 | 44 | 点击小程序右下角的「我」→「通知」管理触发推送的内容类型。 45 | 46 | ![](https://help-assets.codehub.cn/enterprise/20210722121122.png) 47 | 48 | 若你还希望在微信中接受通知推送,请点击[阅读详情](/docs/admin/message/third-party/wechat.html)。 49 | 50 | ==== 2021/07/20 ==== 51 | -------------------------------------------------------------------------------- /themes/coding-help/source/images/icons/menu-search-blue.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | icons/menu-search-blue 5 | Created with Sketch. 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/github-gist.css: -------------------------------------------------------------------------------- 1 | /** 2 | * GitHub Gist Theme 3 | * Author : Anthony Attard - https://github.com/AnthonyAttard 4 | * Author : Louis Barranqueiro - https://github.com/LouisBarranqueiro 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | background: white; 10 | padding: 0.5em; 11 | color: #333333; 12 | overflow-x: auto; 13 | } 14 | 15 | .hljs-comment, 16 | .hljs-meta { 17 | color: #969896; 18 | } 19 | 20 | .hljs-variable, 21 | .hljs-template-variable, 22 | .hljs-strong, 23 | .hljs-emphasis, 24 | .hljs-quote { 25 | color: #df5000; 26 | } 27 | 28 | .hljs-keyword, 29 | .hljs-selector-tag, 30 | .hljs-type { 31 | color: #d73a49; 32 | } 33 | 34 | .hljs-literal, 35 | .hljs-symbol, 36 | .hljs-bullet, 37 | .hljs-attribute { 38 | color: #0086b3; 39 | } 40 | 41 | .hljs-section, 42 | .hljs-name { 43 | color: #63a35c; 44 | } 45 | 46 | .hljs-tag { 47 | color: #333333; 48 | } 49 | 50 | .hljs-title, 51 | .hljs-attr, 52 | .hljs-selector-id, 53 | .hljs-selector-class, 54 | .hljs-selector-attr, 55 | .hljs-selector-pseudo { 56 | color: #6f42c1; 57 | } 58 | 59 | .hljs-addition { 60 | color: #55a532; 61 | background-color: #eaffea; 62 | } 63 | 64 | .hljs-deletion { 65 | color: #bd2c00; 66 | background-color: #ffecec; 67 | } 68 | 69 | .hljs-link { 70 | text-decoration: underline; 71 | } 72 | 73 | .hljs-number { 74 | color: #005cc5; 75 | } 76 | 77 | .hljs-string { 78 | color: #032f62; 79 | } 80 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/kimbie.dark.css: -------------------------------------------------------------------------------- 1 | /* 2 | Name: Kimbie (dark) 3 | Author: Jan T. Sott 4 | License: Creative Commons Attribution-ShareAlike 4.0 Unported License 5 | URL: https://github.com/idleberg/Kimbie-highlight.js 6 | */ 7 | 8 | /* Kimbie Comment */ 9 | .hljs-comment, 10 | .hljs-quote { 11 | color: #d6baad; 12 | } 13 | 14 | /* Kimbie Red */ 15 | .hljs-variable, 16 | .hljs-template-variable, 17 | .hljs-tag, 18 | .hljs-name, 19 | .hljs-selector-id, 20 | .hljs-selector-class, 21 | .hljs-regexp, 22 | .hljs-meta { 23 | color: #dc3958; 24 | } 25 | 26 | /* Kimbie Orange */ 27 | .hljs-number, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params, 33 | .hljs-deletion, 34 | .hljs-link { 35 | color: #f79a32; 36 | } 37 | 38 | /* Kimbie Yellow */ 39 | .hljs-title, 40 | .hljs-section, 41 | .hljs-attribute { 42 | color: #f06431; 43 | } 44 | 45 | /* Kimbie Green */ 46 | .hljs-string, 47 | .hljs-symbol, 48 | .hljs-bullet, 49 | .hljs-addition { 50 | color: #889b4a; 51 | } 52 | 53 | /* Kimbie Purple */ 54 | .hljs-keyword, 55 | .hljs-selector-tag, 56 | .hljs-function { 57 | color: #98676a; 58 | } 59 | 60 | .hljs { 61 | display: block; 62 | overflow-x: auto; 63 | background: #221a0f; 64 | color: #d3af86; 65 | padding: 0.5em; 66 | } 67 | 68 | .hljs-emphasis { 69 | font-style: italic; 70 | } 71 | 72 | .hljs-strong { 73 | font-weight: bold; 74 | } 75 | -------------------------------------------------------------------------------- /source/ci/node/worker.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Worker 常用命令 - CODING 帮助中心 3 | pageTitle: Worker 常用命令 4 | pagePrevTitle: 自定义节点 5 | pagePrev: ci/node/customize.html 6 | pageNextTitle: 构建节点池 7 | pageNext: ci/node/pool.html 8 | alias: devops/ci/node/cci-agent.html 9 | --- 10 | 11 | ### [功能介绍](#intro) 12 | 13 | 接入自定义构建节点时将在环境中安装 `Worker` 服务,并由此服务调度 CI 构建任务的下发与计算资源的分配。因此熟悉 `Worker` 服务的常用命令能够更好地配合 CI 构建任务,不同操作系统下的安装方法请阅读[此文档](/docs/ci/node/customize.html)。 14 | 15 | ### [常用配置项命令](#commands) 16 | 17 | #### [注册](#register) 18 | 19 | ```bash 20 | qci_worker reg_cci --token token --server server --home home 21 | --token 项目令牌,必填 22 | --server 指定的接入服务,非必填 23 | --home 指定工作目录 24 | ``` 25 | 26 | 示例: 27 | 28 | ```bash 29 | qci_worker cci_reg --token db6fd4d6a2fc7d753a2985d55c44a2262f3e543f --server ws://codingcorp.nh113vufq.dev.coding.io --home ~/.codingqci 30 | ``` 31 | 32 | #### [启动服务](#start) 33 | 34 | ```bash 35 | qci_worker up -d 36 | ``` 37 | 38 | #### [重启服务](#restart) 39 | 40 | ```bash 41 | qci_worker stop 42 | qci_worker up -d 43 | ``` 44 | 45 | #### [手动删除节点](#delete) 46 | 47 | ```bash 48 | qci_worker stop #停止 qci_worker 49 | qci_worker remove # 后台删除节点 50 | ``` 51 | 52 | ### [修改配置](#modify) 53 | 54 | 若需要让指定的 Jenkins 配置项生效,需要先停止 Jenkins 服务进程,然后重启 `qci_worker` 服务。 55 | 56 | ```bash 57 | qci_worker config JENKINS_HOST=127.0.0.1 # 指定 Jenkins 启动 host 58 | qci_worker config JENKINS_PORT=15740 # 指定 Jenkins 启动 port 59 | ``` 60 | 61 | ==== 2021/10/19 ==== 62 | -------------------------------------------------------------------------------- /themes/coding-help/source/images/book-icons/open-api.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | open-api 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/kimbie.light.css: -------------------------------------------------------------------------------- 1 | /* 2 | Name: Kimbie (light) 3 | Author: Jan T. Sott 4 | License: Creative Commons Attribution-ShareAlike 4.0 Unported License 5 | URL: https://github.com/idleberg/Kimbie-highlight.js 6 | */ 7 | 8 | /* Kimbie Comment */ 9 | .hljs-comment, 10 | .hljs-quote { 11 | color: #a57a4c; 12 | } 13 | 14 | /* Kimbie Red */ 15 | .hljs-variable, 16 | .hljs-template-variable, 17 | .hljs-tag, 18 | .hljs-name, 19 | .hljs-selector-id, 20 | .hljs-selector-class, 21 | .hljs-regexp, 22 | .hljs-meta { 23 | color: #dc3958; 24 | } 25 | 26 | /* Kimbie Orange */ 27 | .hljs-number, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params, 33 | .hljs-deletion, 34 | .hljs-link { 35 | color: #f79a32; 36 | } 37 | 38 | /* Kimbie Yellow */ 39 | .hljs-title, 40 | .hljs-section, 41 | .hljs-attribute { 42 | color: #f06431; 43 | } 44 | 45 | /* Kimbie Green */ 46 | .hljs-string, 47 | .hljs-symbol, 48 | .hljs-bullet, 49 | .hljs-addition { 50 | color: #889b4a; 51 | } 52 | 53 | /* Kimbie Purple */ 54 | .hljs-keyword, 55 | .hljs-selector-tag, 56 | .hljs-function { 57 | color: #98676a; 58 | } 59 | 60 | .hljs { 61 | display: block; 62 | overflow-x: auto; 63 | background: #fbebd4; 64 | color: #84613d; 65 | padding: 0.5em; 66 | } 67 | 68 | .hljs-emphasis { 69 | font-style: italic; 70 | } 71 | 72 | .hljs-strong { 73 | font-weight: bold; 74 | } 75 | -------------------------------------------------------------------------------- /source/start/wiki.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 管理项目文档 - CODING 帮助中心 3 | pageTitle: 管理项目文档 4 | pagePrevTitle: 管理测试用例 5 | pagePrev: start/test-management.html 6 | pageNextTitle: 安全等级说明 7 | pageNext: start/security.html 8 | --- 9 | 在项目进行中,必然会产生大量的信息,并且需要对这些信息进行记录、传递、分享。[文档管理](/docs/document/wiki.html)功能提供灵活易用的文档管理服务,可用于记录整个项目的来龙去脉,展示当前项目状态,也可让项目成员更好地进行文档书写及协作。 10 | 11 | 本文主要说明如何使用 [Wiki](/docs/document/wiki.html) 和[文件网盘](/docs/document/files.html)管理项目文档。 12 | 13 | ### 创建 Wiki 14 | 15 | [Wiki](/docs/document/wiki.html) 支持 Markdown 格式,拥有版本控制、新旧版本对比、无限层级拓展等功能,帮助团队进行知识沉淀;同时还支持公开文档链接、一键生成静态网站等功能。 16 | 17 | 1. 进入已创建的项目,从左侧导航栏选择「文档管理」-> 「Wiki」。 18 | 若为首次使用 Wiki,点击「创建第一个页面」。 19 | 20 | ![](https://help-assets.codehub.cn/enterprise/20210729195542.png) 21 | 22 | 2. 在创建页内可对标题和内容进行编辑,完成后选择「提交文档」,您的第一个文档便创建成功。 23 | 24 | ![](https://help-assets.codehub.cn/enterprise/wiki3.png) 25 | 26 | 27 | 如需了解更多 Wiki 的使用方法,参考[使用 Wiki](/docs/document/wiki.html)。 28 | ### 新建文件/文件夹 29 | 30 | [文件网盘](/docs/document/files.html)用于存储项目内的文件资料,上传兼容所有文件格式,并且支持对文件历史版本的记录与回溯,以便团队对项目资料整体进行版本管理与质量把控。 31 | 32 | 1. 进入已创建的项目,从左侧导航栏选择「文档管理」-> 「文件网盘」。 33 | 2. 若为首次使用 文件网盘,点击「新建文件夹」。 34 | 35 | ![](https://help-assets.codehub.cn/enterprise/20210731151404.png) 36 | 37 | 若已有文件夹,选择右上方「新建」按钮,即可在下拉菜单中按需选择新建文件夹,或 TXT/Markdown 类型的文件。 38 | ![](https://help-assets.codehub.cn/enterprise/%E6%96%87%E4%BB%B6%E7%BD%91%E7%9B%98%203.png) 39 | 40 | 如需了解更多文件网盘的使用方法,参考[文件网盘功能介绍](/docs/document/files.html)。 41 | 42 | ==== 2021/08/01==== 43 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/atelier-dune-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Dune Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Dune Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #999580; 9 | } 10 | 11 | /* Atelier-Dune Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #d73737; 23 | } 24 | 25 | /* Atelier-Dune Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #b65611; 34 | } 35 | 36 | /* Atelier-Dune Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #60ac39; 41 | } 42 | 43 | /* Atelier-Dune Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #6684e1; 47 | } 48 | 49 | /* Atelier-Dune Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #b854d4; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #20201d; 59 | color: #a6a28c; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/atelier-dune-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Dune Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Dune Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #7d7a68; 9 | } 10 | 11 | /* Atelier-Dune Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #d73737; 23 | } 24 | 25 | /* Atelier-Dune Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #b65611; 34 | } 35 | 36 | /* Atelier-Dune Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #60ac39; 41 | } 42 | 43 | /* Atelier-Dune Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #6684e1; 47 | } 48 | 49 | /* Atelier-Dune Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #b854d4; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #fefbec; 59 | color: #6e6b5e; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/monokai-sublime.css: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | Monokai Sublime style. Derived from Monokai by noformnocontent http://nn.mit-license.org/ 4 | 5 | */ 6 | 7 | .hljs { 8 | display: block; 9 | overflow-x: auto; 10 | padding: 0.5em; 11 | background: #23241f; 12 | } 13 | 14 | .hljs, 15 | .hljs-tag, 16 | .hljs-subst { 17 | color: #f8f8f2; 18 | } 19 | 20 | .hljs-strong, 21 | .hljs-emphasis { 22 | color: #a8a8a2; 23 | } 24 | 25 | .hljs-bullet, 26 | .hljs-quote, 27 | .hljs-number, 28 | .hljs-regexp, 29 | .hljs-literal, 30 | .hljs-link { 31 | color: #ae81ff; 32 | } 33 | 34 | .hljs-code, 35 | .hljs-title, 36 | .hljs-section, 37 | .hljs-selector-class { 38 | color: #a6e22e; 39 | } 40 | 41 | .hljs-strong { 42 | font-weight: bold; 43 | } 44 | 45 | .hljs-emphasis { 46 | font-style: italic; 47 | } 48 | 49 | .hljs-keyword, 50 | .hljs-selector-tag, 51 | .hljs-name, 52 | .hljs-attr { 53 | color: #f92672; 54 | } 55 | 56 | .hljs-symbol, 57 | .hljs-attribute { 58 | color: #66d9ef; 59 | } 60 | 61 | .hljs-params, 62 | .hljs-class .hljs-title { 63 | color: #f8f8f2; 64 | } 65 | 66 | .hljs-string, 67 | .hljs-type, 68 | .hljs-built_in, 69 | .hljs-builtin-name, 70 | .hljs-selector-id, 71 | .hljs-selector-attr, 72 | .hljs-selector-pseudo, 73 | .hljs-addition, 74 | .hljs-variable, 75 | .hljs-template-variable { 76 | color: #e6db74; 77 | } 78 | 79 | .hljs-comment, 80 | .hljs-deletion, 81 | .hljs-meta { 82 | color: #75715e; 83 | } 84 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/modules/best-practice/make-normal.scss: -------------------------------------------------------------------------------- 1 | @mixin _clearing { 2 | * { 3 | padding: 0; 4 | margin: 0; 5 | } 6 | *, 7 | *:before, 8 | *:after { 9 | box-sizing: border-box; 10 | } 11 | } 12 | 13 | @mixin makeClearing($section) { 14 | @if $section== 'header' or $section== 'footer' { 15 | .#{$section}-container { 16 | @include _clearing; 17 | } 18 | } @else { 19 | @include _clearing; 20 | } 21 | } 22 | 23 | br { 24 | line-height: 0; 25 | } 26 | 27 | body, 28 | html { 29 | font-family: PingFang SC,Helvetica Neue,Hiragino Sans GB,Segoe UI,Microsoft YaHei,微软雅黑,sans-serif; 30 | font-size: 14px; 31 | line-height: 1.5; 32 | background: #fff; 33 | color: #202d40; 34 | -webkit-font-smoothing: antialiased; 35 | padding: 0; 36 | margin: 0; 37 | } 38 | 39 | html { 40 | overflow-x: hidden; 41 | overflow-y: scroll; 42 | text-rendering: optimizeLegibility; 43 | text-size-adjust: 100%; 44 | -webkit-tap-highlight-color: transparent; 45 | } 46 | 47 | .clearfix:after, 48 | .clearfix:before { 49 | content: ''; 50 | display: table; 51 | } 52 | 53 | .clearfix:after { 54 | clear: both; 55 | overflow: hidden; 56 | } 57 | 58 | .clearfix { 59 | zoom: 1; 60 | } 61 | 62 | a { 63 | transition: all 0.2s ease; 64 | } 65 | li { 66 | list-style: none; 67 | } 68 | * { 69 | box-sizing: border-box; 70 | } -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/atelier-heath-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Heath Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Heath Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #9e8f9e; 9 | } 10 | 11 | /* Atelier-Heath Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #ca402b; 23 | } 24 | 25 | /* Atelier-Heath Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #a65926; 34 | } 35 | 36 | /* Atelier-Heath Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #918b3b; 41 | } 42 | 43 | /* Atelier-Heath Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #516aec; 47 | } 48 | 49 | /* Atelier-Heath Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #7b59c0; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #1b181b; 59 | color: #ab9bab; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/atelier-heath-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Heath Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Heath Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #776977; 9 | } 10 | 11 | /* Atelier-Heath Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #ca402b; 23 | } 24 | 25 | /* Atelier-Heath Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #a65926; 34 | } 35 | 36 | /* Atelier-Heath Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #918b3b; 41 | } 42 | 43 | /* Atelier-Heath Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #516aec; 47 | } 48 | 49 | /* Atelier-Heath Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #7b59c0; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #f7f3f7; 59 | color: #695d69; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /source/member/introduce.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 个人设置概览 - CODING 帮助中心 3 | pageTitle: 个人设置概览 4 | pageNextTitle: 个人工作台 5 | pageNext: member/workbench.html 6 | --- 7 | 8 | ### [功能介绍](#intro) 9 | 10 | CODING 个人账户设置页支持邮箱修改、模板设置等操作,方便您个性化地使用 CODING。 11 | 在 CODING DevOps 平台,点击右上角的个人头像,选择「个人账户设置」即可进入个人账户设置页。 12 | 13 | ![](https://help-assets.codehub.cn/enterprise/20210412162212.png) 14 | 15 | ### [常用设置](#common-settings) 16 | 17 | 在个人账户设置页,你可以按需使用以下的常用设置: 18 | 19 | 20 | #### [多邮箱管理](#mail) 21 | 22 | 在「邮箱设置」中,你可以关联多个邮箱,而注册团队所用的邮箱默认为「主邮箱」。 23 | 点击右上角的新增邮箱按钮后,填写拟绑定的邮箱并输入账户密码,在收到验证邮件后点击链接以完成绑定。 24 | 25 | ![](https://help-assets.codehub.cn/enterprise/20210412174321.png) 26 | 27 | 绑定完成后可以自行指定主邮箱。 28 | 29 | - 主邮箱用于登录 CODING、使用 Git 时提示验证的用户名 (username)。 30 | 31 | - 已验证的邮箱可以作为本地 Git 邮箱,设置完成后 CODING 会识别代码提交者为同一人。 32 | 33 | ```bash 34 | git config --global user.email "已验证的邮箱" 35 | ``` 36 | 37 | #### [自定义 Markdown 模板](#template) 38 | 39 | 在「模板设置」中,你可以配置个性化的 Markdown 模板,仅对自己可见。你还可以将自定义的模板设置为场景默认模板,以便在该场景下新建内容时 Markdown 编辑框会自动填充模板内容。 40 | 41 | ![](https://help-assets.codehub.cn/enterprise/20210910101340.png) 42 | 43 | #### [消息提醒](#notify) 44 | 45 | 在「提醒设置」中,你可以针对项目协作中的不同场景开启系统及邮件提醒,随时掌握与你有关的项目动态。 46 | 47 | ![](https://help-assets.codehub.cn/enterprise/20210910101812.png) 48 | 49 | #### [关联第三方服务](#bind) 50 | 51 | 在「绑定设置」中,你可以选择关联第三方服务,如企业微信和腾讯云。 52 | 如需绑定微信,可以在「个人账户」中的「账号信息」处绑定。 53 | 54 | ![](https://help-assets.codehub.cn/enterprise/20210910100612.png) 55 | 56 | 57 | ==== 2021/09/09 ==== 58 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/tomorrow-night-bright.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Night Bright Theme */ 2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 3 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 4 | 5 | /* Tomorrow Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #969896; 9 | } 10 | 11 | /* Tomorrow Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-tag, 15 | .hljs-name, 16 | .hljs-selector-id, 17 | .hljs-selector-class, 18 | .hljs-regexp, 19 | .hljs-deletion { 20 | color: #d54e53; 21 | } 22 | 23 | /* Tomorrow Orange */ 24 | .hljs-number, 25 | .hljs-built_in, 26 | .hljs-builtin-name, 27 | .hljs-literal, 28 | .hljs-type, 29 | .hljs-params, 30 | .hljs-meta, 31 | .hljs-link { 32 | color: #e78c45; 33 | } 34 | 35 | /* Tomorrow Yellow */ 36 | .hljs-attribute { 37 | color: #e7c547; 38 | } 39 | 40 | /* Tomorrow Green */ 41 | .hljs-string, 42 | .hljs-symbol, 43 | .hljs-bullet, 44 | .hljs-addition { 45 | color: #b9ca4a; 46 | } 47 | 48 | /* Tomorrow Blue */ 49 | .hljs-title, 50 | .hljs-section { 51 | color: #7aa6da; 52 | } 53 | 54 | /* Tomorrow Purple */ 55 | .hljs-keyword, 56 | .hljs-selector-tag { 57 | color: #c397d8; 58 | } 59 | 60 | .hljs { 61 | display: block; 62 | overflow-x: auto; 63 | background: black; 64 | color: #eaeaea; 65 | padding: 0.5em; 66 | } 67 | 68 | .hljs-emphasis { 69 | font-style: italic; 70 | } 71 | 72 | .hljs-strong { 73 | font-weight: bold; 74 | } 75 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/atelier-forest-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Forest Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Forest Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #9c9491; 9 | } 10 | 11 | /* Atelier-Forest Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #f22c40; 23 | } 24 | 25 | /* Atelier-Forest Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #df5320; 34 | } 35 | 36 | /* Atelier-Forest Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #7b9726; 41 | } 42 | 43 | /* Atelier-Forest Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #407ee7; 47 | } 48 | 49 | /* Atelier-Forest Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #6666ea; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #1b1918; 59 | color: #a8a19f; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/atelier-forest-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Forest Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Forest Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #766e6b; 9 | } 10 | 11 | /* Atelier-Forest Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #f22c40; 23 | } 24 | 25 | /* Atelier-Forest Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #df5320; 34 | } 35 | 36 | /* Atelier-Forest Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #7b9726; 41 | } 42 | 43 | /* Atelier-Forest Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #407ee7; 47 | } 48 | 49 | /* Atelier-Forest Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #6666ea; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #f1efee; 59 | color: #68615e; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/modules/make-normal.scss: -------------------------------------------------------------------------------- 1 | @mixin _clearing { 2 | * { 3 | padding: 0; 4 | margin: 0; 5 | } 6 | *, 7 | *:before, 8 | *:after { 9 | box-sizing: border-box; 10 | } 11 | } 12 | 13 | @mixin makeClearing($section) { 14 | @if $section== 'header' or $section== 'footer' { 15 | .#{$section}-container { 16 | @include _clearing; 17 | } 18 | } @else { 19 | @include _clearing; 20 | } 21 | } 22 | 23 | br { 24 | line-height: 0; 25 | } 26 | 27 | body, 28 | html { 29 | font-family: PingFang SC,Helvetica Neue,Hiragino Sans GB,Segoe UI,Microsoft YaHei,微软雅黑,sans-serif; 30 | font-size: 14px; 31 | line-height: 1.5; 32 | background: #fff; 33 | color: #202d40; 34 | -webkit-font-smoothing: antialiased; 35 | padding: 0; 36 | margin: 0; 37 | } 38 | 39 | html { 40 | overflow-x: hidden; 41 | overflow-y: scroll; 42 | text-rendering: optimizeLegibility; 43 | text-size-adjust: 100%; 44 | -webkit-tap-highlight-color: transparent; 45 | } 46 | 47 | .clearfix:after, 48 | .clearfix:before { 49 | content: ''; 50 | display: table; 51 | } 52 | 53 | .clearfix:after { 54 | clear: both; 55 | overflow: hidden; 56 | } 57 | 58 | .clearfix { 59 | zoom: 1; 60 | } 61 | 62 | a { 63 | transition: all 0.2s ease; 64 | text-decoration: none; 65 | } 66 | li { 67 | list-style: none; 68 | } 69 | * { 70 | box-sizing: border-box; 71 | } -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/atelier-seaside-dark.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Seaside Dark - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Seaside Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #809980; 9 | } 10 | 11 | /* Atelier-Seaside Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #e6193c; 23 | } 24 | 25 | /* Atelier-Seaside Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #87711d; 34 | } 35 | 36 | /* Atelier-Seaside Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #29a329; 41 | } 42 | 43 | /* Atelier-Seaside Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #3d62f5; 47 | } 48 | 49 | /* Atelier-Seaside Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #ad2bee; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #131513; 59 | color: #8ca68c; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/hopscotch.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Hopscotch 3 | * by Jan T. Sott 4 | * https://github.com/idleberg/Hopscotch 5 | * 6 | * This work is licensed under the Creative Commons CC0 1.0 Universal License 7 | */ 8 | 9 | /* Comment */ 10 | .hljs-comment, 11 | .hljs-quote { 12 | color: #989498; 13 | } 14 | 15 | /* Red */ 16 | .hljs-variable, 17 | .hljs-template-variable, 18 | .hljs-attribute, 19 | .hljs-tag, 20 | .hljs-name, 21 | .hljs-selector-id, 22 | .hljs-selector-class, 23 | .hljs-regexp, 24 | .hljs-link, 25 | .hljs-deletion { 26 | color: #dd464c; 27 | } 28 | 29 | /* Orange */ 30 | .hljs-number, 31 | .hljs-built_in, 32 | .hljs-builtin-name, 33 | .hljs-literal, 34 | .hljs-type, 35 | .hljs-params { 36 | color: #fd8b19; 37 | } 38 | 39 | /* Yellow */ 40 | .hljs-class .hljs-title { 41 | color: #fdcc59; 42 | } 43 | 44 | /* Green */ 45 | .hljs-string, 46 | .hljs-symbol, 47 | .hljs-bullet, 48 | .hljs-addition { 49 | color: #8fc13e; 50 | } 51 | 52 | /* Aqua */ 53 | .hljs-meta { 54 | color: #149b93; 55 | } 56 | 57 | /* Blue */ 58 | .hljs-function, 59 | .hljs-section, 60 | .hljs-title { 61 | color: #1290bf; 62 | } 63 | 64 | /* Purple */ 65 | .hljs-keyword, 66 | .hljs-selector-tag { 67 | color: #c85e7c; 68 | } 69 | 70 | .hljs { 71 | display: block; 72 | background: #322931; 73 | color: #b9b5b8; 74 | padding: 0.5em; 75 | } 76 | 77 | .hljs-emphasis { 78 | font-style: italic; 79 | } 80 | 81 | .hljs-strong { 82 | font-weight: bold; 83 | } 84 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/tomorrow-night-eighties.css: -------------------------------------------------------------------------------- 1 | /* Tomorrow Night Eighties Theme */ 2 | /* Original theme - https://github.com/chriskempson/tomorrow-theme */ 3 | /* http://jmblog.github.com/color-themes-for-google-code-highlightjs */ 4 | 5 | /* Tomorrow Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #999999; 9 | } 10 | 11 | /* Tomorrow Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-tag, 15 | .hljs-name, 16 | .hljs-selector-id, 17 | .hljs-selector-class, 18 | .hljs-regexp, 19 | .hljs-deletion { 20 | color: #f2777a; 21 | } 22 | 23 | /* Tomorrow Orange */ 24 | .hljs-number, 25 | .hljs-built_in, 26 | .hljs-builtin-name, 27 | .hljs-literal, 28 | .hljs-type, 29 | .hljs-params, 30 | .hljs-meta, 31 | .hljs-link { 32 | color: #f99157; 33 | } 34 | 35 | /* Tomorrow Yellow */ 36 | .hljs-attribute { 37 | color: #ffcc66; 38 | } 39 | 40 | /* Tomorrow Green */ 41 | .hljs-string, 42 | .hljs-symbol, 43 | .hljs-bullet, 44 | .hljs-addition { 45 | color: #99cc99; 46 | } 47 | 48 | /* Tomorrow Blue */ 49 | .hljs-title, 50 | .hljs-section { 51 | color: #6699cc; 52 | } 53 | 54 | /* Tomorrow Purple */ 55 | .hljs-keyword, 56 | .hljs-selector-tag { 57 | color: #cc99cc; 58 | } 59 | 60 | .hljs { 61 | display: block; 62 | overflow-x: auto; 63 | background: #2d2d2d; 64 | color: #cccccc; 65 | padding: 0.5em; 66 | } 67 | 68 | .hljs-emphasis { 69 | font-style: italic; 70 | } 71 | 72 | .hljs-strong { 73 | font-weight: bold; 74 | } 75 | -------------------------------------------------------------------------------- /themes/coding-help/source/styles/highlight/styles/atelier-seaside-light.css: -------------------------------------------------------------------------------- 1 | /* Base16 Atelier Seaside Light - Theme */ 2 | /* by Bram de Haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside) */ 3 | /* Original Base16 color scheme by Chris Kempson (https://github.com/chriskempson/base16) */ 4 | 5 | /* Atelier-Seaside Comment */ 6 | .hljs-comment, 7 | .hljs-quote { 8 | color: #687d68; 9 | } 10 | 11 | /* Atelier-Seaside Red */ 12 | .hljs-variable, 13 | .hljs-template-variable, 14 | .hljs-attribute, 15 | .hljs-tag, 16 | .hljs-name, 17 | .hljs-regexp, 18 | .hljs-link, 19 | .hljs-name, 20 | .hljs-selector-id, 21 | .hljs-selector-class { 22 | color: #e6193c; 23 | } 24 | 25 | /* Atelier-Seaside Orange */ 26 | .hljs-number, 27 | .hljs-meta, 28 | .hljs-built_in, 29 | .hljs-builtin-name, 30 | .hljs-literal, 31 | .hljs-type, 32 | .hljs-params { 33 | color: #87711d; 34 | } 35 | 36 | /* Atelier-Seaside Green */ 37 | .hljs-string, 38 | .hljs-symbol, 39 | .hljs-bullet { 40 | color: #29a329; 41 | } 42 | 43 | /* Atelier-Seaside Blue */ 44 | .hljs-title, 45 | .hljs-section { 46 | color: #3d62f5; 47 | } 48 | 49 | /* Atelier-Seaside Purple */ 50 | .hljs-keyword, 51 | .hljs-selector-tag { 52 | color: #ad2bee; 53 | } 54 | 55 | .hljs { 56 | display: block; 57 | overflow-x: auto; 58 | background: #f4fbf4; 59 | color: #5e6e5e; 60 | padding: 0.5em; 61 | } 62 | 63 | .hljs-emphasis { 64 | font-style: italic; 65 | } 66 | 67 | .hljs-strong { 68 | font-weight: bold; 69 | } 70 | --------------------------------------------------------------------------------