Prepare to delete history commits.
4
.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
book
|
||||||
|
target
|
||||||
|
Cargo.lock
|
||||||
|
/index.html
|
12
Jenkinsfile
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#! /usr/bin/env groovy
|
||||||
|
|
||||||
|
pipeline {
|
||||||
|
agent any
|
||||||
|
stages {
|
||||||
|
stage('测试构建') {
|
||||||
|
steps {
|
||||||
|
sh '/home/jenkins/.cargo/bin/mdbook --version'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
373
LICENSE
Normal file
@ -0,0 +1,373 @@
|
|||||||
|
Mozilla Public License Version 2.0
|
||||||
|
==================================
|
||||||
|
|
||||||
|
1. Definitions
|
||||||
|
--------------
|
||||||
|
|
||||||
|
1.1. "Contributor"
|
||||||
|
means each individual or legal entity that creates, contributes to
|
||||||
|
the creation of, or owns Covered Software.
|
||||||
|
|
||||||
|
1.2. "Contributor Version"
|
||||||
|
means the combination of the Contributions of others (if any) used
|
||||||
|
by a Contributor and that particular Contributor's Contribution.
|
||||||
|
|
||||||
|
1.3. "Contribution"
|
||||||
|
means Covered Software of a particular Contributor.
|
||||||
|
|
||||||
|
1.4. "Covered Software"
|
||||||
|
means Source Code Form to which the initial Contributor has attached
|
||||||
|
the notice in Exhibit A, the Executable Form of such Source Code
|
||||||
|
Form, and Modifications of such Source Code Form, in each case
|
||||||
|
including portions thereof.
|
||||||
|
|
||||||
|
1.5. "Incompatible With Secondary Licenses"
|
||||||
|
means
|
||||||
|
|
||||||
|
(a) that the initial Contributor has attached the notice described
|
||||||
|
in Exhibit B to the Covered Software; or
|
||||||
|
|
||||||
|
(b) that the Covered Software was made available under the terms of
|
||||||
|
version 1.1 or earlier of the License, but not also under the
|
||||||
|
terms of a Secondary License.
|
||||||
|
|
||||||
|
1.6. "Executable Form"
|
||||||
|
means any form of the work other than Source Code Form.
|
||||||
|
|
||||||
|
1.7. "Larger Work"
|
||||||
|
means a work that combines Covered Software with other material, in
|
||||||
|
a separate file or files, that is not Covered Software.
|
||||||
|
|
||||||
|
1.8. "License"
|
||||||
|
means this document.
|
||||||
|
|
||||||
|
1.9. "Licensable"
|
||||||
|
means having the right to grant, to the maximum extent possible,
|
||||||
|
whether at the time of the initial grant or subsequently, any and
|
||||||
|
all of the rights conveyed by this License.
|
||||||
|
|
||||||
|
1.10. "Modifications"
|
||||||
|
means any of the following:
|
||||||
|
|
||||||
|
(a) any file in Source Code Form that results from an addition to,
|
||||||
|
deletion from, or modification of the contents of Covered
|
||||||
|
Software; or
|
||||||
|
|
||||||
|
(b) any new file in Source Code Form that contains any Covered
|
||||||
|
Software.
|
||||||
|
|
||||||
|
1.11. "Patent Claims" of a Contributor
|
||||||
|
means any patent claim(s), including without limitation, method,
|
||||||
|
process, and apparatus claims, in any patent Licensable by such
|
||||||
|
Contributor that would be infringed, but for the grant of the
|
||||||
|
License, by the making, using, selling, offering for sale, having
|
||||||
|
made, import, or transfer of either its Contributions or its
|
||||||
|
Contributor Version.
|
||||||
|
|
||||||
|
1.12. "Secondary License"
|
||||||
|
means either the GNU General Public License, Version 2.0, the GNU
|
||||||
|
Lesser General Public License, Version 2.1, the GNU Affero General
|
||||||
|
Public License, Version 3.0, or any later versions of those
|
||||||
|
licenses.
|
||||||
|
|
||||||
|
1.13. "Source Code Form"
|
||||||
|
means the form of the work preferred for making modifications.
|
||||||
|
|
||||||
|
1.14. "You" (or "Your")
|
||||||
|
means an individual or a legal entity exercising rights under this
|
||||||
|
License. For legal entities, "You" includes any entity that
|
||||||
|
controls, is controlled by, or is under common control with You. For
|
||||||
|
purposes of this definition, "control" means (a) the power, direct
|
||||||
|
or indirect, to cause the direction or management of such entity,
|
||||||
|
whether by contract or otherwise, or (b) ownership of more than
|
||||||
|
fifty percent (50%) of the outstanding shares or beneficial
|
||||||
|
ownership of such entity.
|
||||||
|
|
||||||
|
2. License Grants and Conditions
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
2.1. Grants
|
||||||
|
|
||||||
|
Each Contributor hereby grants You a world-wide, royalty-free,
|
||||||
|
non-exclusive license:
|
||||||
|
|
||||||
|
(a) under intellectual property rights (other than patent or trademark)
|
||||||
|
Licensable by such Contributor to use, reproduce, make available,
|
||||||
|
modify, display, perform, distribute, and otherwise exploit its
|
||||||
|
Contributions, either on an unmodified basis, with Modifications, or
|
||||||
|
as part of a Larger Work; and
|
||||||
|
|
||||||
|
(b) under Patent Claims of such Contributor to make, use, sell, offer
|
||||||
|
for sale, have made, import, and otherwise transfer either its
|
||||||
|
Contributions or its Contributor Version.
|
||||||
|
|
||||||
|
2.2. Effective Date
|
||||||
|
|
||||||
|
The licenses granted in Section 2.1 with respect to any Contribution
|
||||||
|
become effective for each Contribution on the date the Contributor first
|
||||||
|
distributes such Contribution.
|
||||||
|
|
||||||
|
2.3. Limitations on Grant Scope
|
||||||
|
|
||||||
|
The licenses granted in this Section 2 are the only rights granted under
|
||||||
|
this License. No additional rights or licenses will be implied from the
|
||||||
|
distribution or licensing of Covered Software under this License.
|
||||||
|
Notwithstanding Section 2.1(b) above, no patent license is granted by a
|
||||||
|
Contributor:
|
||||||
|
|
||||||
|
(a) for any code that a Contributor has removed from Covered Software;
|
||||||
|
or
|
||||||
|
|
||||||
|
(b) for infringements caused by: (i) Your and any other third party's
|
||||||
|
modifications of Covered Software, or (ii) the combination of its
|
||||||
|
Contributions with other software (except as part of its Contributor
|
||||||
|
Version); or
|
||||||
|
|
||||||
|
(c) under Patent Claims infringed by Covered Software in the absence of
|
||||||
|
its Contributions.
|
||||||
|
|
||||||
|
This License does not grant any rights in the trademarks, service marks,
|
||||||
|
or logos of any Contributor (except as may be necessary to comply with
|
||||||
|
the notice requirements in Section 3.4).
|
||||||
|
|
||||||
|
2.4. Subsequent Licenses
|
||||||
|
|
||||||
|
No Contributor makes additional grants as a result of Your choice to
|
||||||
|
distribute the Covered Software under a subsequent version of this
|
||||||
|
License (see Section 10.2) or under the terms of a Secondary License (if
|
||||||
|
permitted under the terms of Section 3.3).
|
||||||
|
|
||||||
|
2.5. Representation
|
||||||
|
|
||||||
|
Each Contributor represents that the Contributor believes its
|
||||||
|
Contributions are its original creation(s) or it has sufficient rights
|
||||||
|
to grant the rights to its Contributions conveyed by this License.
|
||||||
|
|
||||||
|
2.6. Fair Use
|
||||||
|
|
||||||
|
This License is not intended to limit any rights You have under
|
||||||
|
applicable copyright doctrines of fair use, fair dealing, or other
|
||||||
|
equivalents.
|
||||||
|
|
||||||
|
2.7. Conditions
|
||||||
|
|
||||||
|
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
|
||||||
|
in Section 2.1.
|
||||||
|
|
||||||
|
3. Responsibilities
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
3.1. Distribution of Source Form
|
||||||
|
|
||||||
|
All distribution of Covered Software in Source Code Form, including any
|
||||||
|
Modifications that You create or to which You contribute, must be under
|
||||||
|
the terms of this License. You must inform recipients that the Source
|
||||||
|
Code Form of the Covered Software is governed by the terms of this
|
||||||
|
License, and how they can obtain a copy of this License. You may not
|
||||||
|
attempt to alter or restrict the recipients' rights in the Source Code
|
||||||
|
Form.
|
||||||
|
|
||||||
|
3.2. Distribution of Executable Form
|
||||||
|
|
||||||
|
If You distribute Covered Software in Executable Form then:
|
||||||
|
|
||||||
|
(a) such Covered Software must also be made available in Source Code
|
||||||
|
Form, as described in Section 3.1, and You must inform recipients of
|
||||||
|
the Executable Form how they can obtain a copy of such Source Code
|
||||||
|
Form by reasonable means in a timely manner, at a charge no more
|
||||||
|
than the cost of distribution to the recipient; and
|
||||||
|
|
||||||
|
(b) You may distribute such Executable Form under the terms of this
|
||||||
|
License, or sublicense it under different terms, provided that the
|
||||||
|
license for the Executable Form does not attempt to limit or alter
|
||||||
|
the recipients' rights in the Source Code Form under this License.
|
||||||
|
|
||||||
|
3.3. Distribution of a Larger Work
|
||||||
|
|
||||||
|
You may create and distribute a Larger Work under terms of Your choice,
|
||||||
|
provided that You also comply with the requirements of this License for
|
||||||
|
the Covered Software. If the Larger Work is a combination of Covered
|
||||||
|
Software with a work governed by one or more Secondary Licenses, and the
|
||||||
|
Covered Software is not Incompatible With Secondary Licenses, this
|
||||||
|
License permits You to additionally distribute such Covered Software
|
||||||
|
under the terms of such Secondary License(s), so that the recipient of
|
||||||
|
the Larger Work may, at their option, further distribute the Covered
|
||||||
|
Software under the terms of either this License or such Secondary
|
||||||
|
License(s).
|
||||||
|
|
||||||
|
3.4. Notices
|
||||||
|
|
||||||
|
You may not remove or alter the substance of any license notices
|
||||||
|
(including copyright notices, patent notices, disclaimers of warranty,
|
||||||
|
or limitations of liability) contained within the Source Code Form of
|
||||||
|
the Covered Software, except that You may alter any license notices to
|
||||||
|
the extent required to remedy known factual inaccuracies.
|
||||||
|
|
||||||
|
3.5. Application of Additional Terms
|
||||||
|
|
||||||
|
You may choose to offer, and to charge a fee for, warranty, support,
|
||||||
|
indemnity or liability obligations to one or more recipients of Covered
|
||||||
|
Software. However, You may do so only on Your own behalf, and not on
|
||||||
|
behalf of any Contributor. You must make it absolutely clear that any
|
||||||
|
such warranty, support, indemnity, or liability obligation is offered by
|
||||||
|
You alone, and You hereby agree to indemnify every Contributor for any
|
||||||
|
liability incurred by such Contributor as a result of warranty, support,
|
||||||
|
indemnity or liability terms You offer. You may include additional
|
||||||
|
disclaimers of warranty and limitations of liability specific to any
|
||||||
|
jurisdiction.
|
||||||
|
|
||||||
|
4. Inability to Comply Due to Statute or Regulation
|
||||||
|
---------------------------------------------------
|
||||||
|
|
||||||
|
If it is impossible for You to comply with any of the terms of this
|
||||||
|
License with respect to some or all of the Covered Software due to
|
||||||
|
statute, judicial order, or regulation then You must: (a) comply with
|
||||||
|
the terms of this License to the maximum extent possible; and (b)
|
||||||
|
describe the limitations and the code they affect. Such description must
|
||||||
|
be placed in a text file included with all distributions of the Covered
|
||||||
|
Software under this License. Except to the extent prohibited by statute
|
||||||
|
or regulation, such description must be sufficiently detailed for a
|
||||||
|
recipient of ordinary skill to be able to understand it.
|
||||||
|
|
||||||
|
5. Termination
|
||||||
|
--------------
|
||||||
|
|
||||||
|
5.1. The rights granted under this License will terminate automatically
|
||||||
|
if You fail to comply with any of its terms. However, if You become
|
||||||
|
compliant, then the rights granted under this License from a particular
|
||||||
|
Contributor are reinstated (a) provisionally, unless and until such
|
||||||
|
Contributor explicitly and finally terminates Your grants, and (b) on an
|
||||||
|
ongoing basis, if such Contributor fails to notify You of the
|
||||||
|
non-compliance by some reasonable means prior to 60 days after You have
|
||||||
|
come back into compliance. Moreover, Your grants from a particular
|
||||||
|
Contributor are reinstated on an ongoing basis if such Contributor
|
||||||
|
notifies You of the non-compliance by some reasonable means, this is the
|
||||||
|
first time You have received notice of non-compliance with this License
|
||||||
|
from such Contributor, and You become compliant prior to 30 days after
|
||||||
|
Your receipt of the notice.
|
||||||
|
|
||||||
|
5.2. If You initiate litigation against any entity by asserting a patent
|
||||||
|
infringement claim (excluding declaratory judgment actions,
|
||||||
|
counter-claims, and cross-claims) alleging that a Contributor Version
|
||||||
|
directly or indirectly infringes any patent, then the rights granted to
|
||||||
|
You by any and all Contributors for the Covered Software under Section
|
||||||
|
2.1 of this License shall terminate.
|
||||||
|
|
||||||
|
5.3. In the event of termination under Sections 5.1 or 5.2 above, all
|
||||||
|
end user license agreements (excluding distributors and resellers) which
|
||||||
|
have been validly granted by You or Your distributors under this License
|
||||||
|
prior to termination shall survive termination.
|
||||||
|
|
||||||
|
************************************************************************
|
||||||
|
* *
|
||||||
|
* 6. Disclaimer of Warranty *
|
||||||
|
* ------------------------- *
|
||||||
|
* *
|
||||||
|
* Covered Software is provided under this License on an "as is" *
|
||||||
|
* basis, without warranty of any kind, either expressed, implied, or *
|
||||||
|
* statutory, including, without limitation, warranties that the *
|
||||||
|
* Covered Software is free of defects, merchantable, fit for a *
|
||||||
|
* particular purpose or non-infringing. The entire risk as to the *
|
||||||
|
* quality and performance of the Covered Software is with You. *
|
||||||
|
* Should any Covered Software prove defective in any respect, You *
|
||||||
|
* (not any Contributor) assume the cost of any necessary servicing, *
|
||||||
|
* repair, or correction. This disclaimer of warranty constitutes an *
|
||||||
|
* essential part of this License. No use of any Covered Software is *
|
||||||
|
* authorized under this License except under this disclaimer. *
|
||||||
|
* *
|
||||||
|
************************************************************************
|
||||||
|
|
||||||
|
************************************************************************
|
||||||
|
* *
|
||||||
|
* 7. Limitation of Liability *
|
||||||
|
* -------------------------- *
|
||||||
|
* *
|
||||||
|
* Under no circumstances and under no legal theory, whether tort *
|
||||||
|
* (including negligence), contract, or otherwise, shall any *
|
||||||
|
* Contributor, or anyone who distributes Covered Software as *
|
||||||
|
* permitted above, be liable to You for any direct, indirect, *
|
||||||
|
* special, incidental, or consequential damages of any character *
|
||||||
|
* including, without limitation, damages for lost profits, loss of *
|
||||||
|
* goodwill, work stoppage, computer failure or malfunction, or any *
|
||||||
|
* and all other commercial damages or losses, even if such party *
|
||||||
|
* shall have been informed of the possibility of such damages. This *
|
||||||
|
* limitation of liability shall not apply to liability for death or *
|
||||||
|
* personal injury resulting from such party's negligence to the *
|
||||||
|
* extent applicable law prohibits such limitation. Some *
|
||||||
|
* jurisdictions do not allow the exclusion or limitation of *
|
||||||
|
* incidental or consequential damages, so this exclusion and *
|
||||||
|
* limitation may not apply to You. *
|
||||||
|
* *
|
||||||
|
************************************************************************
|
||||||
|
|
||||||
|
8. Litigation
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Any litigation relating to this License may be brought only in the
|
||||||
|
courts of a jurisdiction where the defendant maintains its principal
|
||||||
|
place of business and such litigation shall be governed by laws of that
|
||||||
|
jurisdiction, without reference to its conflict-of-law provisions.
|
||||||
|
Nothing in this Section shall prevent a party's ability to bring
|
||||||
|
cross-claims or counter-claims.
|
||||||
|
|
||||||
|
9. Miscellaneous
|
||||||
|
----------------
|
||||||
|
|
||||||
|
This License represents the complete agreement concerning the subject
|
||||||
|
matter hereof. If any provision of this License is held to be
|
||||||
|
unenforceable, such provision shall be reformed only to the extent
|
||||||
|
necessary to make it enforceable. Any law or regulation which provides
|
||||||
|
that the language of a contract shall be construed against the drafter
|
||||||
|
shall not be used to construe this License against a Contributor.
|
||||||
|
|
||||||
|
10. Versions of the License
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
10.1. New Versions
|
||||||
|
|
||||||
|
Mozilla Foundation is the license steward. Except as provided in Section
|
||||||
|
10.3, no one other than the license steward has the right to modify or
|
||||||
|
publish new versions of this License. Each version will be given a
|
||||||
|
distinguishing version number.
|
||||||
|
|
||||||
|
10.2. Effect of New Versions
|
||||||
|
|
||||||
|
You may distribute the Covered Software under the terms of the version
|
||||||
|
of the License under which You originally received the Covered Software,
|
||||||
|
or under the terms of any subsequent version published by the license
|
||||||
|
steward.
|
||||||
|
|
||||||
|
10.3. Modified Versions
|
||||||
|
|
||||||
|
If you create software not governed by this License, and you want to
|
||||||
|
create a new license for such software, you may create and use a
|
||||||
|
modified version of this License if you rename the license and remove
|
||||||
|
any references to the name of the license steward (except to note that
|
||||||
|
such modified license differs from this License).
|
||||||
|
|
||||||
|
10.4. Distributing Source Code Form that is Incompatible With Secondary
|
||||||
|
Licenses
|
||||||
|
|
||||||
|
If You choose to distribute Source Code Form that is Incompatible With
|
||||||
|
Secondary Licenses under the terms of this version of the License, the
|
||||||
|
notice described in Exhibit B of this License must be attached.
|
||||||
|
|
||||||
|
Exhibit A - Source Code Form License Notice
|
||||||
|
-------------------------------------------
|
||||||
|
|
||||||
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
|
If it is not possible or desirable to put the notice in a particular
|
||||||
|
file, then You may include the notice in a location (such as a LICENSE
|
||||||
|
file in a relevant directory) where a recipient would be likely to look
|
||||||
|
for such a notice.
|
||||||
|
|
||||||
|
You may add additional accurate notices of copyright ownership.
|
||||||
|
|
||||||
|
Exhibit B - "Incompatible With Secondary Licenses" Notice
|
||||||
|
---------------------------------------------------------
|
||||||
|
|
||||||
|
This Source Code Form is "Incompatible With Secondary Licenses", as
|
||||||
|
defined by the Mozilla Public License, v. 2.0.
|
27
README.md
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# Jenkins 全知道 🏗️
|
||||||
|
|
||||||
|
有关 Jenkins CI/CD 的全面资料。
|
||||||
|
|
||||||
|
> Jenkins 是一款由 Java 编写的开源的持续集成工具。Jenkins 的扩展插件已经发布,能使非 Java 语言编写的项目也使用 Jenkins。对于大多数的版本控制系统和大的数据库,有与 Jenkins 集成的插件可用。许多构建(build)工具都是通过他们各自的插件提供支持。插件还可以改变 Jenkins 的外观,或添加新的功能。
|
||||||
|
>
|
||||||
|
> [维基百科:Jenkins (软件)](https://zh.wikipedia.org/zh-cn/Jenkins_(%E8%BD%AF%E4%BB%B6))
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
在线阅读:[🏗️ jenkins.xfoss.com](https://jenkins.xfoss.com/)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 用户手册概述
|
||||||
|
|
||||||
|
本页提供了 Jenkins 用户手册中的文档概述。
|
||||||
|
|
||||||
|
如果你想启动并运行 Jenkins,请参阅 [安装 Jenkins](src/Ch01_Installing_Jenkins.md),了解如何在你选择的支持平台上安装 Jenkins 的程序。
|
||||||
|
|
||||||
|
如果你是一名典型的 Jenkins 用户(任何技能水平),想了解更多关于 Jenkins 的使用,请看 [使用 Jenkins](src/Ch02_Using_Jenkins.md)。也可以参考单独的 [Pipeline](src/Ch03_Using_Jenkins.md) 和 [Blue Ocean](src/Ch04_Blue_Ocean.md) 章节,了解有关这些 Jenkins 核心功能的更多信息。
|
||||||
|
|
||||||
|
如果你是一名 Jenkins 管理员,想知道更多关于管理 Jenkins 节点和实例的信息,请看 [管理 Jenkins](src/Ch05_Managing_Jenkins.md)。
|
||||||
|
|
||||||
|
如果你是一名系统管理员,想学习如何执行 Jenkins 服务器和节点的备份、恢复、维护,请看 [Jenkins 系统管理](src/Ch06_System_Administration.md)。
|
||||||
|
|
||||||
|
其余章节设计 Jenkins 集群与故障排除等方面。最后章节是个词汇表。
|
23
book.toml
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
[book]
|
||||||
|
authors = ["Lenny Peng"]
|
||||||
|
language = "zh"
|
||||||
|
multilingual = false
|
||||||
|
src = "src"
|
||||||
|
title = "又一本 Jenkins 书。"
|
||||||
|
description = "又一本 Jenkins 书,Yet another Chinese Jenkins book。"
|
||||||
|
|
||||||
|
[preprocessor.pagetoc]
|
||||||
|
[output.html]
|
||||||
|
additional-css = ["theme/pagetoc.css"]
|
||||||
|
additional-js = ["theme/pagetoc.js"]
|
||||||
|
git-repository-url = "https://github.com/gnu4cn/jenkins_book_zh"
|
||||||
|
git-repository-icon = "fa-github"
|
||||||
|
|
||||||
|
[output.html.print]
|
||||||
|
enable = false
|
||||||
|
|
||||||
|
[output.html.search]
|
||||||
|
enable = false
|
||||||
|
|
||||||
|
[output.html.favicon]
|
||||||
|
png = true
|
5
projects/Dockerfile-ssh-agent-alpine
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
FROM jenkins/ssh-agent:alpine
|
||||||
|
USER root
|
||||||
|
RUN apk add --update alpine-sdk wget gcompat
|
||||||
|
RUN mkdir /opt/nds32le-elf-mculib-v5
|
||||||
|
RUN wget https://gitlab.xfoss.com/it-group/nds-toolchain/-/raw/21aade02c2d51747017b73d15bc03ee3e4ebc298/nds32le-elf-mculib-v5.tar.gz -O - | tar -xzvf - -C /opt/nds32le-elf-mculib-v5
|
5
projects/Dockerfile-ssh-agent-jdk11
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
FROM jenkins/ssh-agent:jdk11
|
||||||
|
USER root
|
||||||
|
RUN apt update && apt install -y wget build-essential
|
||||||
|
RUN mkdir /opt/nds32le-elf-mculib-v5
|
||||||
|
RUN wget https://gitlab.xfoss.com/it-group/nds-toolchain/-/raw/21aade02c2d51747017b73d15bc03ee3e4ebc298/nds32le-elf-mculib-v5.tar.gz -O - | tar -xzvf - -C /opt/nds32le-elf-mculib-v5
|
21
src/Ch00_Overview.md
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# Jenkins 全知道
|
||||||
|
|
||||||
|
有关 Jenkins CI/CD 的全面资料。
|
||||||
|
|
||||||
|
> Jenkins 是一款由 Java 编写的开源的持续集成工具。Jenkins 的扩展插件已经发布,能使非 Java 语言编写的项目也使用 Jenkins。对于大多数的版本控制系统和大的数据库,有与 Jenkins 集成的插件可用。许多构建(build)工具都是通过他们各自的插件提供支持。插件还可以改变 Jenkins 的外观,或添加新的功能。
|
||||||
|
>
|
||||||
|
> [维基百科:Jenkins (软件)](https://zh.wikipedia.org/zh-cn/Jenkins_(%E8%BD%AF%E4%BB%B6))
|
||||||
|
|
||||||
|
## 用户手册概述
|
||||||
|
|
||||||
|
本页提供了 Jenkins 用户手册中的文档概述。
|
||||||
|
|
||||||
|
如果你想启动并运行 Jenkins,请参阅 [安装 Jenkins](./Ch01_Installing_Jenkins.md),了解如何在你选择的支持平台上安装 Jenkins 的程序。
|
||||||
|
|
||||||
|
如果你是一名典型的 Jenkins 用户(任何技能水平),想了解更多关于 Jenkins 的使用,请看 [使用 Jenkins](./using_jenkins.md)。也可以参考单独的 [Pipeline](./pipeline.md) 和 [Blue Ocean](Ch04_Blue_Ocean.md) 章节,了解有关这些 Jenkins 核心功能的更多信息。
|
||||||
|
|
||||||
|
如果你是一名 Jenkins 管理员,想知道更多关于管理 Jenkins 节点和实例的信息,请看 [管理 Jenkins](Ch05_Managing_Jenkins.md)。
|
||||||
|
|
||||||
|
如果你是一名系统管理员,想学习如何执行 Jenkins 服务器和节点的备份、恢复、维护,请看 [Jenkins 系统管理](Ch06_System_Administration.md)。
|
||||||
|
|
||||||
|
其余章节涉及 Jenkins 集群与故障排除等方面。最后章节是个词汇表。
|
7
src/Ch01_Installing_Jenkins.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# 安装 Jenkins
|
||||||
|
|
||||||
|
本章中的过程适用于 Jenkins 的新安装。
|
||||||
|
|
||||||
|
Jenkins 通常在其自己的进程中作为独立应用程序运行。 Jenkins WAR 文件捆绑了 [Winstone](https://github.com/jenkinsci/winstone),一个 [Jetty](https://www.eclipse.org/jetty/) servlet 容器包装器,并且可以在任何操作系统或平台上启动,只要有 Jenkins 支持的 Java 版本。
|
||||||
|
|
||||||
|
理论上,Jenkins 也可以在 [Apache Tomcat](https://tomcat.apache.org/) 或 [WildFly](https://www.wildfly.org/) 这样的传统 servlet 容器中作为 servlet 运行,但在实践中,这基本上没有经过测试,而且有很多注意事项。特别是,对 WebSocket 代理的支持只在 Jetty servlet 容器中实现。详见 [Servlet 容器支持政策](https://www.jenkins.io/doc/administration/requirements/servlet-containers) 页面。
|
61
src/SUMMARY.md
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
[概述 🏗️](Ch00_Overview.md)
|
||||||
|
|
||||||
|
|
||||||
|
- [安装 Jenkins](Ch01_Installing_Jenkins.md)
|
||||||
|
- [Docker 方式安装](./installation/docker.md)
|
||||||
|
- [K8s 方式安装](./installation/k8s.md)
|
||||||
|
- [Linux 方式安装](./installation/linux.md)
|
||||||
|
- [其他安装方式](./installation/others.md)
|
||||||
|
- [初始设置](./installation/initial_settings.md)
|
||||||
|
|
||||||
|
- [使用 Jenkins](./using_jenkins.md)
|
||||||
|
- [使用凭据](./usage/using_credentials.md)
|
||||||
|
- [搜索框](./usage/search_box.md)
|
||||||
|
- [通过名字引用另一个项目](./usage/referencing_another_project_by_name.md)
|
||||||
|
- [中止某个构建](./usage/aborting_a_build.md)
|
||||||
|
- [文件指纹](./usage/fingerprints.md)
|
||||||
|
- [使用本地语言](./usage/using_local_lang.md)
|
||||||
|
- [修改时区](./usage/change_time_zone.md)
|
||||||
|
- [远程访问 API](./usage/remote_access_api.md)
|
||||||
|
- [因执行器的饿死情况,Executor Starvation](./usage/executor_starvation.md)
|
||||||
|
- [使用 Jenkins 代理](./usage/using_jenkins_agents.md)
|
||||||
|
- [在 Jenkins 中使用 JMeter](./usage/using_jmeter_with_jenkins.md)
|
||||||
|
|
||||||
|
|
||||||
|
- [流水线 Pipeline](./pipeline.md)
|
||||||
|
- [Jenkins 管道入门](./pipeline/get_started.md)
|
||||||
|
- [使用 `Jenkinsfile`](./pipeline/jenkinsfile.md)
|
||||||
|
- [运行流水线](./pipeline/running.md)
|
||||||
|
- [分支与拉取请求](./pipeline/branches.md)
|
||||||
|
- [在流水线中使用 Docker](./pipeline/docker.md)
|
||||||
|
- [使用共享库扩展 Pipeline](./pipeline/shared-libraries.md)
|
||||||
|
- [流水线开发工具](./pipeline/development_tools.md)
|
||||||
|
- [流水线语法](./pipeline/syntax.md)
|
||||||
|
- [流水线即代码](./pipeline/pipeline_as_code.md)
|
||||||
|
- [流水线最佳实践](./pipeline/best_practices.md)
|
||||||
|
- [调整流水线](./pipeline/scaling_pipelines.md)
|
||||||
|
- [CPS 方法不匹配](./pipeline/CPS_method_mismatches.md)
|
||||||
|
- [Pipeline: 节点与进程](./pipeline/nodes_and_processes.md)
|
||||||
|
|
||||||
|
|
||||||
|
- [Blue Ocean](./blue_ocean.md)
|
||||||
|
- [Blue Ocean 入门](./blue_ocean/getting_started.md)
|
||||||
|
- [创建流水线](./blue_ocean/create_a_pipeline.md)
|
||||||
|
|
||||||
|
|
||||||
|
- [管理 Jenkins](./managing.md)
|
||||||
|
- [Jenkins 命令行界面](./managing/jenkins_cli.md)
|
||||||
|
|
||||||
|
|
||||||
|
- [扩展 Jenkins 规模](scaling.md)
|
||||||
|
- [硬件建议](./scaling/hardware_recommendation.md)
|
||||||
|
|
||||||
|
- [系统管理](administration.md)
|
||||||
|
- [Java 要求](./administration/java_requirements.md)
|
||||||
|
- [浏览器兼容性](./administration/web_browsers.md)
|
||||||
|
- [Windows 系统支持政策](./administration/windows_support_policy.md)
|
||||||
|
- [Linux 系统支持政策](./administration/linux_support_policy.md)
|
||||||
|
|
||||||
|
- [词汇表](./glossary.md)
|
||||||
|
|
||||||
|
- [备忘录](memos.md)
|
1
src/administration.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
本章介绍 Jenkins 系统管理方面的知识,包括 Java 要求、Jenkins 升级、Windows 系统支持政策与 Linux 系统支持政策等内容。
|
57
src/administration/java_requirements.md
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
## Java 要求
|
||||||
|
|
||||||
|
Jenkins 安装分别有单独的运行和作业执行两方面的要求。
|
||||||
|
|
||||||
|
### 运行 Jenkins 系统
|
||||||
|
|
||||||
|
从 Jenkins 2.357 和 LTS 2.361.1 开始,Jenkins 需要 Java 11 或 17。请 [在公告博文中阅读更多相关内容](https://www.jenkins.io/blog/2022/06/28/require-java-11/)。
|
||||||
|
|
||||||
|
> *将 Java 版本升级到 11*
|
||||||
|
>
|
||||||
|
> 将现有的 Jenkins 设置从 Java 8 升级到 Java 11?请参考 [升级指南](#把-jenkins-的-java-版本从-8-升级到-11)。
|
||||||
|
|
||||||
|
|
||||||
|
### 在 Docker 中的 Java 11 上运行 Jenkins
|
||||||
|
|
||||||
|
Java 11 Docker 安装说明包含在 [“下载和运行 Docker 中的 Jenkins”](Ch01_Installing_Jenkins.md#下载和运行-docker-中的-jenkins) 中。或者,`jenkins/jenkins:jdk17` Docker 镜像允许咱们在 Java 17 上运行 Jenkins 控制器。
|
||||||
|
|
||||||
|
所有其他的Java版本都不被支持。
|
||||||
|
|
||||||
|
Jenkins项目使用以下JDK/JREs执行完整的测试流程:
|
||||||
|
|
||||||
|
- OpenJDK JDK/JRE 11 - 64 位;
|
||||||
|
- OpenJDK JDK/JRE 17 - 64 位。
|
||||||
|
|
||||||
|
其他厂商的 JRE/JDK 是被支持的,可以使用。关于已知的 Java 兼容性问题,请参考 [我们的 issue tracker](https://issues.jenkins.io/issues/?jql=labels%3Djdk)。Jenkins 维护者们积极测试 [基于 HotSpot 的 Java 虚拟机](https://en.wikipedia.org/wiki/HotSpot_(virtual_machine),如来自 OpenJDK、Eclipse Temurin 和 Amazon Corretto 等。Jenkins 维护者不测试基于 Eclipse OpenJ9 的 Java 虚拟机。[Platform SIG](https://www.jenkins.io/sigs/platform/) 在 2021 年 8 月停止了对基于 OpenJ9 的 Java 虚拟机的工作。
|
||||||
|
|
||||||
|
### 在 Jenkins 上运行基于 Java 的工具和构建
|
||||||
|
|
||||||
|
用于构建基于 Java 项目的 JDK 版本,或用于运行基于 Java 工具的 Java 版本独立于用于运行 Jenkins 控制器和代理进程的 Java 版本。在构建过程中,可以启动任何版本的 JRE 或 JDK,只要他与运行构建的系统兼容即可。这包括:
|
||||||
|
|
||||||
|
- 在 shell 构建步骤中执行 `java` 或 `javac`,以及类似的情况;
|
||||||
|
- 使用由 JDK 工具安装程序管理的 JDK 执行 Maven/Ant/... 等构建步骤。
|
||||||
|
|
||||||
|
少数插件有更严格的要求,一般要求构建的 Java 版本与运行 Jenkins 控制器和代理所用的版本相同。一个明显的例子是 Maven 集成插件,他要求用于 Maven 构建的 JDK 版本必须与用于 Jenkins 控制器的版本至少相同。这些情况一般在插件的文档中都有记载。
|
||||||
|
|
||||||
|
### 监控 Java 版本
|
||||||
|
|
||||||
|
现代版本的 Jenkins 控制器和 Jenkins 代理会验证 Java 要求,并在启动时通知用户不支持的版本。
|
||||||
|
|
||||||
|
[Versions Node Monitors 插件](https://plugins.jenkins.io/versioncolumn) 提供了详细的 Java 版本监控。
|
||||||
|
|
||||||
|
|
||||||
|
### 所使用的 Java 开发套件 JDKs
|
||||||
|
|
||||||
|
Jenkins 项目使用 [Eclipse Temurin](https://projects.eclipse.org/projects/adoptium.temurin) 作为其主要的 JDK 来构建和测试基于 Java 的应用程序。这包括:
|
||||||
|
|
||||||
|
- 容器镜像;
|
||||||
|
- Jenkins 核心发布版本的构建;
|
||||||
|
- [自动化的插件版本发布](https://www.jenkins.io/doc/developer/publishing/releasing-cd/);
|
||||||
|
- [持续集成构建和测试](https://ci.jenkins.io/);
|
||||||
|
- 测试基础设施。
|
||||||
|
|
||||||
|
|
||||||
|
选择 Temurin 的一些理由是:
|
||||||
|
|
||||||
|
- 在多种平台上的可用性,包括不同的操作系统和体系结构,以及许多不同的 Java SE 版本;
|
||||||
|
- 由 Eclipse 基金会提供定期维护和长期支持。
|
40
src/administration/linux_support_policy.md
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
## Linux 支持政策
|
||||||
|
|
||||||
|
本页记录了 Jenkins 控制器和代理的 Linux 支持政策。
|
||||||
|
|
||||||
|
### 范围
|
||||||
|
|
||||||
|
个别 Jenkins 插件可能对控制器和/或代理上的 Linux 版本设置额外的要求。本页没有记录这些要求。请参考 [插件文档](https://plugins.jenkins.io/) 以了解额外的要求。
|
||||||
|
|
||||||
|
|
||||||
|
### 缘由
|
||||||
|
|
||||||
|
理论上,Jenkins 可以在任何可以运行所支持 Java 版本的地方运行,但在实践中存在一些限制。Jenkins core 和一些插件包括了原生代码,或依赖于 Linux API 和子系统,因此他们依赖于特定的 Linux 版本。Jenkins 平台特定的安装包依赖于特定的 Linux 版本。
|
||||||
|
|
||||||
|
|
||||||
|
### 支持级别
|
||||||
|
|
||||||
|
|
||||||
|
我们为 Linux 平台定义了多个支持级别。
|
||||||
|
|
||||||
|
|
||||||
|
| 支持级别 | 描述 | 平台 |
|
||||||
|
| :-- | :-- | :-- |
|
||||||
|
| **级别 1** - 受支持 | 我们为这些平台运行自动化的软件包管理器安装测试,我们打算及时修复报告的问题。我们推荐 Linux 下基于包管理器的安装或基于容器的安装。安装也可以使用 `jenkins.war` 而不使用包管理器,尽管我们的自动化测试集中在包管理器和容器安装上。 | <ul><li>[在 ci.jenkins.io 上测试过的](https://ci.jenkins.io/job/Packaging/job/packaging/job/master/) 使用 Debian 打包格式的 64位(amd64)Linux 版本;</li><li>[在 ci.jenkins.io 上测试过的](https://ci.jenkins.io/job/Packaging/job/packaging/job/master/) 使用 Red Hat rpm 打包格式的 64 位 (amd64) Linux 版本;</li><li>[在 ci.jenkins.io 上测试过的](https://ci.jenkins.io/job/Packaging/job/packaging/job/master/) 使用 OpenSUSE rpm 打包格式的 64 位 (amd64) Linux 版本;</li><li>[在 ci.jenkins.io 上测试过的](https://ci.jenkins.io/job/Infra/job/acceptance-tests/) 使用 Debian 打包格式的 64 位(arm64、s390x)Linux 版本;</li><li>[在 ci.jenkins.io 上测试过的](https://ci.jenkins.io/job/Infra/job/acceptance-tests/) 使用 rpm 打包格式的 64 位(arm64,s390x)Linux 版本;</li><li>为 [控制器](https://hub.docker.com/r/jenkins/jenkins) 和各种代理发布的 Linux 容器镜像(amd64、arm64、s390x)。</li></ul> |
|
||||||
|
| **级别 2** - 补丁会被重视 | 支持可能有限制和额外要求。我们不测试兼容性,而且我们可能在任何时候放弃支持。我们考虑那些不会使 1 级支持处于风险之中并且不会产生维护开销的补丁。 | <ul><li>32位(x86,arm)的 Linux 版本;</li><li>RISC-V 和其他不包含在 1 级支持中的架构;</li><li>预览版。</li></ul> |
|
||||||
|
| **级别 3** - 不受支持 | 已知这些版本不兼容或有严重局限。我们不支持列出的平台,我们不接受补丁。 | 操作系统供应商不再支持的 Linux 版本。 |
|
||||||
|
|
||||||
|
### 参考
|
||||||
|
|
||||||
|
- [Debian 的长期支持](https://wiki.debian.org/LTS);
|
||||||
|
- [红帽企业级Linux的生命周期](https://access.redhat.com/support/policy/updates/errata);
|
||||||
|
- [SUSE 产品支持生命周期](https://www.suse.com/lifecycle/);
|
||||||
|
- [Ubuntu 生命周期和发布节奏](https://ubuntu.com/about/release-cycle)。
|
||||||
|
|
||||||
|
### 贡献
|
||||||
|
|
||||||
|
我们欢迎你提出增加对其他 Linux 平台支持的 PR,或者分享反馈;我们将感谢你的贡献! Jenkins 中的 Linux 支持是 [平台特别兴趣小组](https://www.jenkins.io/sigs/platform/),他有 [聊天室](https://app.gitter.im/#/room/#jenkinsci_platform-sig:gitter.im)、[论坛](https://community.jenkins.io/),以及 [定期会议](https://www.jenkins.io/sigs/platform/#meetings)。欢迎你加入这些频道。
|
||||||
|
|
||||||
|
### 版本历史
|
||||||
|
|
||||||
|
- 2022 年三月 - 首个版本([邮件列表中的讨论](https://groups.google.com/g/jenkinsci-dev/c/cYi4GyG7Il8/m/oQ2m0C3UAgAJ)、[治理会议记录和录音](https://community.jenkins.io/t/governance-meeting-jan-26-2022/1348))。
|
63
src/administration/upgrade_java_guidelines.md
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
## 把 Jenkins 的 Java 版本从 8 升级到 11
|
||||||
|
|
||||||
|
有一些细节和步骤来升级用于运行 Jenkins 的 JVM,更具体地说是从 Java 8 到 Java 11。
|
||||||
|
|
||||||
|
如果你要升级用于运行 Jenkins 的 JVM,特别是如果你要从 Java 8 升级到 Java 11,有一些细节你应该知道,也应该采取预防措施。
|
||||||
|
|
||||||
|
|
||||||
|
### 备份
|
||||||
|
|
||||||
|
与任何升级一样,我们建议备份 `JENKINS_HOME`,并在生产实例上,执行升级之前,用备份测试升级。
|
||||||
|
|
||||||
|
|
||||||
|
### 升级 Jenkins
|
||||||
|
|
||||||
|
如果你需要升级 Jenkins 以及 JVM,我们建议你:
|
||||||
|
|
||||||
|
1. 备份 `JENKINS_HOME`;
|
||||||
|
2. 停止 Jenkins 实例;
|
||||||
|
3. 升级运行 Jenkins 的 JVM;
|
||||||
|
- 使用软件包管理器来安装新的 JVM;
|
||||||
|
- 确保默认 JVM 是新安装的版本。如果不是,运行 `systemctl edit jenkins` 并设置 `JAVA_HOME` 环境变量或 `JENKINS_JAVA_CMD` 环境变量。
|
||||||
|
4. 将 Jenkins 升级到最新版本;
|
||||||
|
- 如何升级 Jenkins 取决于咱们原来的 Jenkins 安装方法;
|
||||||
|
- 我们(Jenkins 开发团队)建议你使用你系统的软件包管理器(如 `apt` 或 `yum`)。
|
||||||
|
5. 验证升级,以确认所有的插件和作业都已加载;
|
||||||
|
6. 升级所需的插件(见 [升级插件](#升级插件))。
|
||||||
|
|
||||||
|
从 Jenkins 2.357 每周发布版和长期支持版 2.361.1 开始,Java 11 或 Java 17 是必需的。
|
||||||
|
|
||||||
|
|
||||||
|
### 升级插件
|
||||||
|
|
||||||
|
不仅要升级 Jenkins 和 JVM,而且要升级支持 Java 11 的插件,这一点很重要。插件的升级保证了与最新的 Jenkins 版本的兼容性。
|
||||||
|
|
||||||
|
> 如果你发现一个以前没有报告的问题,请让我们知道:请阅读 [how to report an issue](https://www.jenkins.io/participate/report-issue/#issue-reporting) 以获得指导。
|
||||||
|
|
||||||
|
|
||||||
|
### Jakarta XML 绑定
|
||||||
|
|
||||||
|
有些插件使用 JDK 提供的 JAXB 库。然而,`java.xml.bind` 和 `javax.activation` 模块在 OpenJDK 11 中不再包含,如果没有提供替换,插件可能会失效。
|
||||||
|
|
||||||
|
为了解决这个问题,我们把这些库捆绑在一个新的分离式插件中:[JAXB 插件](https://plugins.jenkins.io/jaxb)。当任何比 `2.163` 更新的 Jenkins 核心在 Java 11 上运行时,这个插件会自动安装。然而,如果你在 Jenkins 之外管理你的插件,例如,如果你在 Docker 镜像中使用 `plugins.txt`,你可能需要明确安装该插件。
|
||||||
|
|
||||||
|
|
||||||
|
### 代理上的 JVM 版本
|
||||||
|
|
||||||
|
由于控制器和代理的通信方式,所有代理必须运行在与控制器相同的 JVM 版本上。如果你要升级你的 Jenkins 控制器以运行在 Java 11 上,你也需要升级你的代理上的 JVM。
|
||||||
|
|
||||||
|
你可以用 [Versions Node Monitors](https://plugins.jenkins.io/versioncolumn) 插件来验证每个代理的版本。这个插件在你的 Jenkins 实例的节点管理屏幕上,提供关于每个代理的 JVM 版本信息。你也可以配置这个插件来自动断开任何 JVM 版本不正确的代理。
|
||||||
|
|
||||||
|
|
||||||
|
### Java Web Start
|
||||||
|
|
||||||
|
Java Web Start 已从 Java 11 中移除。当 Jenkins 控制器在 Java 11 上运行时,Java Web Start 按钮将不再出现在 Web UI 中。你不能从下载到 Web 浏览器的 `*.jnlp` 文件,为 Java 11 Jenkins 服务器启动代理。
|
||||||
|
|
||||||
|
没有替换此功能的计划。请使用 [SSH Build Agents](https://plugins.jenkins.io/ssh-slaves) 等插件,使用操作系统命令行调用 `java -jar agent.jar`,或使用容器将代理连接到 Java 11 上的 Jenkins。
|
||||||
|
|
||||||
|
|
||||||
|
### JDK 工具自动安装程序
|
||||||
|
|
||||||
|
Oracle JDK 11 的授权使 Jenkins 社区无法列出 Oracle JDK。由于这一许可限制,Oracle JDK 11 不能被 Jenkins 自动安装。这个问题在 [issue JENKINS-54305](https://issues.jenkins.io/browse/JENKINS-54305) 中进行了追踪。
|
||||||
|
|
||||||
|
作为替代方案,我们鼓励你使用其中包含了构建所需的所有工具的基于镜像的容器。
|
31
src/administration/web_browsers.md
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
## 浏览器兼容性
|
||||||
|
|
||||||
|
> 本页记录了 Jenkins 自动化服务器中的浏览器支持政策。他不适用于 Jenkins 网站或 Jenkins 项目托管的其他服务。
|
||||||
|
|
||||||
|
|
||||||
|
### 支持模型
|
||||||
|
|
||||||
|
Jenkins 的 web 浏览器支持分为三类:
|
||||||
|
|
||||||
|
1. 级别 1:旨在主动修复这些浏览器,并在所有浏览器上提供平等的用户体验;
|
||||||
|
2. 级别 2:接受补丁来解决问题,并尽最大努力确保至少有一种方法可以执行任何操作;
|
||||||
|
3. 级别 3:没有保证。我们将接受补丁,但前提是他们的风险较低。**对于下面未列出的浏览器/版本,这是默认浏览器支持的默认级别**。
|
||||||
|
|
||||||
|
我们(Jenkins 开发团队)不声明与浏览器的预发布(例如,alpha、beta 或 canary)版本的任何兼容性或接受错误报告和补丁。
|
||||||
|
|
||||||
|
### 浏览器兼容性汇总表
|
||||||
|
|
||||||
|
| 浏览器 | 级别 1 | 级别 2 | 级别 3 |
|
||||||
|
| :-- | :-- | :-- | :-- |
|
||||||
|
| Google Chrome | 最新的定期发布/补丁 | N-1 版本,最新补丁 | 别的版本 |
|
||||||
|
| Mozilla Firefox | 最新的定期发布/补丁;最新的 [ESR](https://www.mozilla.org/en-US/firefox/organizations/) 发布版本 | N-1 版本,最新补丁 | 别的版本 |
|
||||||
|
| Microsoft Edge | 最新的定期发布/补丁 | N-1 版本,最新补丁 | 别的版本 |
|
||||||
|
| Apple Safari | 最新的定期发布/补丁 | N-1 版本,最新补丁 | 别的版本 |
|
||||||
|
|
||||||
|
对移动浏览器(例如 iOS Safari)的支持尚未确定。
|
||||||
|
|
||||||
|
### 更改历史
|
||||||
|
|
||||||
|
- 2022-02-01 - 移除对 Internet Explorer 的支持,增加 Edge( [开发者邮件列表中的讨论](https://groups.google.com/g/jenkinsci-dev/c/piANoeohdik) );
|
||||||
|
- 2019-11-19 - 政策更新([开发者邮件列表中的讨论](https://groups.google.com/forum/#!topic/jenkinsci-dev/TV_pLEah9B4) );
|
||||||
|
- 2014-09-03 - Jenkins 1.579 的最初政策( [治理会议记录](http://meetings.jenkins-ci.org/jenkins/2014/jenkins.2014-09-03-18.01.html) )。
|
50
src/administration/windows_support_policy.md
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
## Windows 支持政策
|
||||||
|
|
||||||
|
此页面记录了 Jenkins 服务器和代理的 Windows 支持政策。
|
||||||
|
|
||||||
|
|
||||||
|
### 范围
|
||||||
|
|
||||||
|
Jenkins 插件,例如 [WMI Windows 代理](https://plugins.jenkins.io/windows-slaves),可能对控制器和/或代理上的 Windows 版本设置额外的要求。本页没有记录这些要求。请参考插件文档。
|
||||||
|
|
||||||
|
|
||||||
|
### 缘由
|
||||||
|
|
||||||
|
理论上,Jenkins 可以在任何可以运行所支持 Java 版本的地方运行,但在实践中存在一些限制。Jenkins core 和一些插件包含了原生代码,或依赖于 Windows API 和子系统,因此他们依赖于特定的 Windows 平台和版本。在 Windows 服务中,我们也使用 [Windows 服务封装器(WinSW)](https://github.com/winsw/winsw),他需要 .NET 框架。
|
||||||
|
|
||||||
|
|
||||||
|
### 支持级别
|
||||||
|
|
||||||
|
我们为 Windows 平台定义了多个支持级别。
|
||||||
|
|
||||||
|
|
||||||
|
| 支持级别 | 描述 | 平台 |
|
||||||
|
| :-- | :-- | :-- |
|
||||||
|
| **级别 1** - 完全支持 | 我们对这些平台进行了自动化测试,我们打算及时修复报告的问题。 | <ul><li>64 位 (amd-64) Windows Server 版本,带有最新的 GA 更新包;</li><li>官方 Docker 镜像中使用的 Windows 版本。</li></ul> |
|
||||||
|
| **级别 2** - 受支持 | 我们不积极测试这些平台,但我们打算保持兼容性。我们很乐意接受补丁。 | <ul><li>Microsoft 普遍支持的 64 位 (amd-64) Windows Server 版本;</li><li>Microsoft 普遍支持的 64 位 (amd-64) Windows 10 版本。</li></ul> |
|
||||||
|
| **级别 3** - 补丁会被重视 | 支持可能有限制和额外要求。我们不测试兼容性,如果有需要,我们可能会放弃支持。如果补丁不会将 1/2 级支持置于风险之中并且不会产生维护开销,我们将考虑补丁。 | <ul><li>微软不再支持的 64 位 Windows 版本;</li><li>x86 和其他非 amd64 架构</li><li>非主流版本,如 Windows Embedded;</li><li>预览版;</li><li>Windows API 模拟引擎,例如 Wine 或 ReactOS。</li></ul> |
|
||||||
|
| **级别 4** - 不受支持 | 已知这些版本不兼容或有严重局限。我们不支持列出的平台,我们不会接受补丁。 | <ul><li>早于 SP3 的 Windows XP;</li><li>Windows Phone;</li><li>2008 年之前发布的其他 Windows 平台。</li></ul>
|
||||||
|
|
||||||
|
|
||||||
|
### `.NET` 的要求
|
||||||
|
|
||||||
|
- 从 `Jenkins 2.238` 开始,所有的 Windows 服务安装和内建的 Windows 服务管理逻辑都需要 .NET 框架 4.0 或以上;
|
||||||
|
- 在 `Jenkins 2.238` 前,支持 .NET Framework 2.0;
|
||||||
|
- 对于不支持这些版本的平台,请考虑使用 [Windows Service Wrapper](https://github.com/winsw/winsw) 项目提供的原生可执行文件。
|
||||||
|
|
||||||
|
### 参考
|
||||||
|
|
||||||
|
- [微软生命周期政策](https://docs.microsoft.com/en-us/lifecycle/)
|
||||||
|
- [微软产品生命周期检索](https://support.microsoft.com/en-us/lifecycle/search)
|
||||||
|
|
||||||
|
### 贡献
|
||||||
|
|
||||||
|
如果你想增加对更多 Windows 平台的支持或分享反馈,我们将感谢你的贡献!Jenkins 中的 Windows 支持是 [平台特别兴趣小组,Platform Special Interest Group](http://www.jenkins.io/sigs/platform/),他有一个聊天室、一个邮件列表和定期会议。欢迎你加入这些渠道。
|
||||||
|
|
||||||
|
|
||||||
|
### 版本历史
|
||||||
|
|
||||||
|
- 2020 年 6 月 3 日 - 第一版([邮件列表中的讨论](https://groups.google.com/forum/#!msg/jenkinsci-dev/oK8pBCzPPpo/1Ue1DI4TAQAJ),[治理会议记录](https://docs.google.com/document/d/11Nr8QpqYgBiZjORplL_3Zkwys2qK1vEvK-NYyYa4rzg/edit#heading=h.ele42cjexh55))
|
||||||
|
|
||||||
|
|
||||||
|
|
145
src/blue_ocean.md
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
# Blue Ocean
|
||||||
|
|
||||||
|
本章涵盖 Blue Ocean 功能的各个方面,包括如何使用:
|
||||||
|
|
||||||
|
- [Blue Ocean 入门](./blue_ocean/getting_started.md),内容包括如何在 Jenkins 中设置 Blue Ocean,以及访问 Blue Ocean 界面;
|
||||||
|
|
||||||
|
- 在 Blue Ocean 中 [创建一个新的 Pipeline 项目](./blue_ocean/create_a_pipeline.md);
|
||||||
|
|
||||||
|
- 使用 Blue Ocean 的 [仪表盘](./blue_ocean/dashboard.md)。
|
||||||
|
|
||||||
|
- 使用 [“活动, Activity” 视图](./blue_ocean/activity_view.md),其中可以访问到 [当前和历史运行数据](./blue_ocean/activity_view.md#活动)、流水线的 [分支](./blue_ocean/activity_view.md#分支),以及任何开放的 [拉取请求](./blue_ocean/activity_view.md#拉取请求);
|
||||||
|
|
||||||
|
- 使用 [“流水线运行详情” 视图](./blue_ocean/details_view.md),访问特定流水线或项目运行的控制台输出等详细信息;
|
||||||
|
|
||||||
|
- 使用 [“流水线编辑器”](./blue_ocean/pipeline_editor.md),修改流水线代码,然后咱们可以将其提交到源代码控制系统 SCM 中。
|
||||||
|
|
||||||
|
|
||||||
|
本章面向所有技能水平的 Jenkins 用户,但初学者可能需要参考 [“流水线”](./pipeline.md) 章节,以理解本章涵盖的一些主题。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
有关 Jenkins 用户手册内容的概述,请参阅 [用户手册概述](./Ch00_Overview.md)。
|
||||||
|
|
||||||
|
|
||||||
|
{{#include ./pipeline/get_started.md:56:58}}
|
||||||
|
>
|
||||||
|
> 可用的 Pipeline 可视化替代选项,比如 [Pipeline: Stage View](https://plugins.jenkins.io/pipeline-stage-view/) 与 [Pipeline Graph View](https://plugins.jenkins.io/pipeline-graph-view/) 插件,提供了部分相同功能。虽然他们不能完全替代 Blue Ocean,但社区鼓励为这些插件的持续开发做出贡献。
|
||||||
|
>
|
||||||
|
{{#include ./pipeline/get_started.md:60}}
|
||||||
|
|
||||||
|
|
||||||
|
## 何为 Blue Ocean?
|
||||||
|
|
||||||
|
Blue Ocean 作为现有工具,提供了易于使用的 Pipeline 可视化功能。其旨在重新构思 Jenkins 用户体验,从头开始专为 [Jenkins Pipeline](./pipeline.md) 设计。Blue Ocean 的目标是减少混乱,增加全体用户的清晰度。
|
||||||
|
|
||||||
|
然而,Blue Ocean 将不再接收功能或增强性的更新。他仅会接收针对重大安全问题,或功能缺陷的有选择性更新。如果咱们刚刚开始使用 Jenkins,仍然可以使用 Blue Ocean,或者可以考虑替代方案,例如 [Pipeline: Stage View](https://plugins.jenkins.io/pipeline-stage-view/) 和 [Pipeline Graph View](https://plugins.jenkins.io/pipeline-graph-view/) 插件。这些插件提供了部分相同功能。
|
||||||
|
|
||||||
|
总而言之,Blue Ocean 的主要功能包括:
|
||||||
|
|
||||||
|
- 持续交付 (CD) 流水线的 **复杂可视化**,可快速、直观地了解流水线状态;
|
||||||
|
|
||||||
|
- **流水线编辑器** 通过可视化流程,引导用户创建流水线,使流水线创建更加简单易行;
|
||||||
|
|
||||||
|
- **个性化,personalization**,以满足团队每个成员基于角色的需求;
|
||||||
|
|
||||||
|
- 在需要干预或出现问题时 **精确定位,pinpoint precision**。Blue Ocean 可显示需要关注的地方,便于处理异常情况,提高工作效率;
|
||||||
|
|
||||||
|
- **原生的分支和拉取请求集成**,使开发人员在 GitHub 和 Bitbucket 上,协作处理代码时能最大限度地提高工作效率;
|
||||||
|
|
||||||
|
如果咱们想要开始使用 Blue Ocean,请参阅 [Blue Ocean 入门](./blue_ocean/getting_started.md)。
|
||||||
|
|
||||||
|
|
||||||
|
[![Jenkins Blue Ocean: 每个团队的持续交付](https://img.youtube.com/vi/k_fVlU1FwP4/0.jpg)](https://www.youtube.com/watch?v=k_fVlU1FwP4)
|
||||||
|
|
||||||
|
|
||||||
|
## 常见问题(FAQs)
|
||||||
|
|
||||||
|
|
||||||
|
### 为什么会有 Blue Ocean?
|
||||||
|
|
||||||
|
**Why does Blue Ocean exist**?
|
||||||
|
|
||||||
|
DevOps 世界已经从纯粹功能性的开发人员工具,过渡到作为 “开发人员体验” 一部分的开发人员工具。他不再是单一的工具,而是开发人员全天使用的众多工具,以及这些工具如何协同工作,为开发人员实现更好的工作流程。
|
||||||
|
|
||||||
|
Heroku、Atlassian 和 GitHub 等开发者工具公司,提高了良好开发者体验的标准。渐渐地,开发人员越来越喜欢那些不仅功能强大,而且能无缝融入现有工作流程的工具。这种转变代表着对设计和功能的更高标准,开发人员期待着卓越的用户体验。Jenkins 需要提升以满足这一更高标准。
|
||||||
|
|
||||||
|
对于许多 Jenkins 用户来说,创建出持续交付管道并将其可视化,一直是件非常有价值的事情。Jenkins 社区为满足他们的需求而创建的插件,就证明了这一点。这也表明有必要重新审视 Jenkins 目前是如何表达这些概念的,并将交付流水线,视为 Jenkins 用户体验的核心主题。
|
||||||
|
|
||||||
|
他不仅仅是持续交付概念,还包括开发人员日常使用的工具,如 GitHub、Bitbucket、Slack、Puppet 或 Docker。其不仅涉及 Jenkins,还包括围绕 Jenkins 的开发人员工作流程,其中包含多种工具。
|
||||||
|
|
||||||
|
|
||||||
|
新团队在学习如何积累他们自己的 Jenkins 经验时,可能会遇到挑战。但是,他们的目标是一致的,即通过更稳定地交付更好的软件,来缩短上市时间。作为一个由 Jenkins 用户和贡献者组成的社区,我们可以共同定义理想的 Jenkins 体验。随着时间的推移,开发人员对良好用户体验的期望会发生变化,而 Jenkins 项目也需要接受这些期望。
|
||||||
|
|
||||||
|
|
||||||
|
Jenkins 社区一直致力于打造技术能力最强、可扩展性最强的软件自动化工具。如果今天不彻底改变 Jenkins 开发人员的体验,就可能意味着未来会有封闭源代码选项,试图利用这一点。
|
||||||
|
|
||||||
|
|
||||||
|
Blue Ocean 就是为了满足当时这种需求而诞生的。然而,随着时间的推移,更多的现代工具出现并取代了他。现在,其他类似功能的插件已经崛起。因此,Blue Ocean 的任何新开发或改进都已停止。如果你有兴趣为类似功能的插件做出贡献,请考虑上文 [何为 Blue Ocean?](#何为-blue-ocean) 一节中提出的其他选择。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[![Jenkins World 2016 - Blue Ocean:Jenkins的全新用户体验](https://img.youtube.com/vi/mn61VFdScuk/0.jpg)](https://www.youtube.com/watch?v=mn61VFdScuk)
|
||||||
|
|
||||||
|
|
||||||
|
### 这个名字从何而来?
|
||||||
|
|
||||||
|
**Where is the name from**?
|
||||||
|
|
||||||
|
Blue Ocean 这一名称,来自 [“蓝海策略,Blue Ocean Strategy”](https://en.wikipedia.org/wiki/Blue_Ocean_Strategy) 一书。这种策略涉及在更大的无竞争空间,而不是在有竞争的空间内,看待战略问题。更简单地说,可以引用冰球传奇人物韦恩-格雷茨基(Wayne Gretzky)的名言: “滑向冰球即将出现的地方,而不是冰球已经出现的地方”。
|
||||||
|
|
||||||
|
|
||||||
|
### Blue Ocean 支持自由风格的作业吗?
|
||||||
|
|
||||||
|
|
||||||
|
**Does Blue Ocean support freestyle jobs**?
|
||||||
|
|
||||||
|
|
||||||
|
Blue Ocean 的目标是提供与流水线相关的出色体验,并与 Jenkins 实例中已配置的任何自由风格作业相兼容。不过,咱们将无法受益于为流水线构建的一些功能,例如流水线的可视化。
|
||||||
|
|
||||||
|
|
||||||
|
Blue Ocean 的设计具有可扩展性,因此 Jenkins 社区可以扩展 Blue Ocean 的功能。虽然 Blue Ocean 不会再添加任何其他功能,但他仍提供了流水线可视化,以及用户认为有价值的其他一些功能。
|
||||||
|
|
||||||
|
|
||||||
|
### 这对咱们的插件有什么影响?
|
||||||
|
|
||||||
|
**What does this mean for my plugins**?
|
||||||
|
|
||||||
|
|
||||||
|
可扩展性是 Jenkins 的核心功能之一,而能够扩展 Blue Ocean UI 也同样重要。`<ExtensionPoint name=...>` 可用于 Blue Ocean 的标记中,为插件对用户界面作出贡献,留下了空间。这意味着插件可以拥有自己的 Blue Ocean 扩展点。Blue Ocean 本身就是使用这些扩展点实现的。
|
||||||
|
|
||||||
|
|
||||||
|
扩展照常由插件提供。插件必须包含一些额外的 JavaScript,才能连接到 Blue Ocean 的扩展点。为 Blue Ocean 用户体验做出贡献的开发者,会相应地添加这些 JavaScript。
|
||||||
|
|
||||||
|
|
||||||
|
### 目前用到的技术有哪些?
|
||||||
|
|
||||||
|
**What technologies are currently in use**?
|
||||||
|
|
||||||
|
|
||||||
|
Blue Ocean 是作为一组 Jenkins 插件构建的。与其他插件的关键区别在于,Blue Ocean 提供了自己的 HTTP 请求端点,在不使用现有的 Jenkins UI 标记或脚本,而是通过不同路径来提供 HTML/JavaScript。Blue Ocean 的 JavaScript 组件使用 React.js 和 ES6 构建。受 React.js 这个优秀开源项目的启发,咱们可以在 [构建 React 应用插件](https://nylas.com/blog/react-plugins) 这篇博文中,找到相关信息,建立了一个允许来自任何带有 JavaScript 的 Jenkins 插件的扩展的 `<ExtensionPoint>` 模式。如果扩展加载失败,其故障将被隔离。
|
||||||
|
|
||||||
|
|
||||||
|
### 在哪里可以找到源代码?
|
||||||
|
|
||||||
|
源码可在 GitHub 上找到:
|
||||||
|
|
||||||
|
|
||||||
|
- [Blue Ocean](https://github.com/jenkinsci/blueocean-plugin)
|
||||||
|
|
||||||
|
- [Jenkins 设计语言](https://github.com/jenkinsci/jenkins-design-language)
|
||||||
|
|
||||||
|
|
||||||
|
### 加入 Blue Ocean 社区
|
||||||
|
|
||||||
|
|
||||||
|
由于 “Blue Ocean” 的开发工作已经冻结,我们预计不会再为其代码库的新功能再做出贡献。不过,咱们仍然可以通过以下几种方式加入社区:
|
||||||
|
|
||||||
|
|
||||||
|
- 在 Gitter 上与社区和开发团队交谈 [chat on gitter](https://app.gitter.im/#/room/#jenkinsci_blueocean-plugin:gitter.im);
|
||||||
|
|
||||||
|
- [在 JIRA 中针对 `blueocean-plugin` 组件](https://issues.jenkins.io/),发起功能请求或报告错误;
|
||||||
|
|
||||||
|
- 订阅 [Jenkins 用户邮件列表](https://groups.google.com/g/jenkinsci-users) 并提问;
|
||||||
|
|
||||||
|
- 开发人员?我们已经 [标注了一些问题](https://issues.jenkins.io/issues/?filter=16142),非常适合想要开始开发 Blue Ocean 的人。别忘了来 Gitter 聊天室做个自我介绍!
|
57
src/blue_ocean/create_a_pipeline.md
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
# 创建流水线
|
||||||
|
|
||||||
|
**Creating a Pipeline**
|
||||||
|
|
||||||
|
Blue Ocean 可让咱们轻松地在 Jenkins 中,创建流水线项目。
|
||||||
|
|
||||||
|
|
||||||
|
咱们可以从源代码控制系统 SCM 中,现有的 `Jenkinsfile` 生成流水线,也可以使用 Blue Ocean 的 [流水线编辑器](./pipeline_editor.md),将流水线创建为一个提交到源代码控制系统的 `Jenkinsfile`。
|
||||||
|
|
||||||
|
|
||||||
|
{{#include ../blue_ocean.md:25:29}}
|
||||||
|
|
||||||
|
|
||||||
|
## 建立咱们的流水线项目
|
||||||
|
|
||||||
|
|
||||||
|
要开始在 Blue Ocean 中建立流水线项目,请选择 [Blue Ocean 控制面板](./dashboard.md) 右上方的 **创建流水线** 按钮。
|
||||||
|
|
||||||
|
|
||||||
|
![创建流水线按钮](../images/new-pipeline-button.png)
|
||||||
|
|
||||||
|
如果咱们的 Jenkins 实例是全新的,或者没有配置流水线项目或其他项目,Blue Ocean 会显示一条 **欢迎使用 Jenkins** 的消息,允许咱们选择 **创建新的流水线** 选项,开始设置流水线项目。
|
||||||
|
|
||||||
|
|
||||||
|
![创建流水线对话框](../images/create-a-new-pipeline-box.png)
|
||||||
|
|
||||||
|
|
||||||
|
咱们现在就可以选择从以下项目中,创建新的流水线项目:
|
||||||
|
|
||||||
|
|
||||||
|
- [标准 Git 仓库](#);
|
||||||
|
|
||||||
|
- [GitHub 上的代码仓库]() 或 GitHub Enterprise;
|
||||||
|
|
||||||
|
- [Bitbucket 云代码仓库]() 或 Bitbucket 服务器。
|
||||||
|
|
||||||
|
|
||||||
|
### Git 代码仓库
|
||||||
|
|
||||||
|
要为 Git 代码仓库创建咱们的 Pipeline 项目,请点击 **选择代码仓库** 下的 **Git** 按钮。
|
||||||
|
|
||||||
|
|
||||||
|
![选择代码仓库](../images/where-do-you-store-your-code.png)
|
||||||
|
|
||||||
|
|
||||||
|
在 **连接到 Git 仓库** 部分,于 **仓库 URL** 字段中输入 Git 仓库的 URL。
|
||||||
|
|
||||||
|
|
||||||
|
![连接到 Git 仓库](../images/connect-to-a-git-repository.png)
|
||||||
|
|
||||||
|
|
||||||
|
现在,咱们必须指定一个 [本地](#本地代码仓库) 或 [远端](#远端代码仓库) 的代码仓库,以便从中构建 Pipeline 项目。
|
||||||
|
|
||||||
|
|
||||||
|
#### 本地代码仓库
|
||||||
|
|
||||||
|
|
119
src/blue_ocean/getting_started.md
Normal file
@ -0,0 +1,119 @@
|
|||||||
|
# Blue Ocean 入门
|
||||||
|
|
||||||
|
**Getting started with Blue Ocean**
|
||||||
|
|
||||||
|
|
||||||
|
本节介绍如何 Jenkins 中 Blue Ocean 的入门。其中包括在 Jenkins 实例上 [设置 Blue Ocean]()、如何 [访问 Blue Ocean UI]() 以及 [返回 Jenkins 经典 UI]() 的说明。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{{#include ../pipeline/get_started.md:56:58}}
|
||||||
|
|
||||||
|
|
||||||
|
## 安装 Blue Ocean
|
||||||
|
|
||||||
|
|
||||||
|
咱们可以使用以下方法,安装 Blue Ocean:
|
||||||
|
|
||||||
|
|
||||||
|
- 作为 [现有 Jenkins 实例](#在现有的-jenkins-实例上) 上的一套插件;
|
||||||
|
|
||||||
|
- 作为 [Docker 中 Jenkins]() 的一部分。
|
||||||
|
|
||||||
|
|
||||||
|
### 在现有的 Jenkins 实例上
|
||||||
|
|
||||||
|
在大多数平台上安装 Jenkins 时,默认情况下不会安装 [Blue Ocean](https://plugins.jenkins.io/blueocean) 插件,以及用于编译 Blue Ocean 插件套件的全部依赖插件。
|
||||||
|
|
||||||
|
任何拥有 **管理员** 权限的 Jenkins 用户,都可以在 Jenkins 实例上安装插件。这是通过 **基于矩阵的安全性** 设置的。拥有此权限的 Jenkins 用户还可在其系统上,配置其他用户的权限。更多信息,请参阅 [安全性管理](../security/managing.md) 中的 [授权](../security/managing.md#授权) 小节。
|
||||||
|
|
||||||
|
|
||||||
|
在 Jenkins 实例中安装 Blue Ocean 套装插件:
|
||||||
|
|
||||||
|
1. 确保咱们是以具有 **管理员** 权限的用户身份登录的 Jenkins;
|
||||||
|
|
||||||
|
2. 在 Jenkins 主页,选择左侧的 **系统管理**,然后选择 **插件管理**;
|
||||||
|
|
||||||
|
3. 选择 **Available plugins** 选项卡,然后在 **Filter** 文本框中,输入 `blue ocean`。这会根据名称和描述,过滤插件清单。
|
||||||
|
|
||||||
|
|
||||||
|
![过滤后的 Blue Ocean 相关插件](../images/blueocean-plugins-filtered.png)
|
||||||
|
|
||||||
|
|
||||||
|
4. 选择 **Blue Ocean** 插件左侧的方框,然后选择右上角的 **安装** 或 **Install after restart** 选项;
|
||||||
|
|
||||||
|
|
||||||
|
> - 无需选择此列表中的其他插件。Blue Ocean 主插件会自动选择并安装所有依赖插件,从而组成 Blue Ocean 插件套件;
|
||||||
|
> - 如果仅选择了 **安装** 选项,则必须重启 Jenkins 才能获得 Blue Ocean 的全部功能。
|
||||||
|
|
||||||
|
更多信息,请参阅 [插件管理](../managing/plugins.md) 页面。Blue Ocean 安装后无需额外配置。现有流水线及项目将照常运行。
|
||||||
|
|
||||||
|
> 在 Blue Ocean 中首次为特定 Git 服务器创建流水线时,Blue Ocean 会提示咱们提供 Git 凭据,以便在仓库中创建流水线。这是必须的,因为 Blue Ocean 才可以将 `Jenkinsfile`,添加到咱们的代码仓库中。
|
||||||
|
|
||||||
|
|
||||||
|
### 作为 Docker 中的 Jenkins 的一部分
|
||||||
|
|
||||||
|
Blue Ocean 插件套件并未与可从 [Docker Hub 仓库](https://hub.docker.com/) 中,获取的 Jenkins 官方 Docker 映像 [jenkins/jenkins](https://hub.docker.com/r/jenkins/jenkins/) 捆绑。
|
||||||
|
|
||||||
|
有关在 Docker 内运行 Jenkins 以及 Blue Ocean 的更多信息,请参阅安装 Jenkins 页面的 [Docker](../installation/docker.md) 小节。
|
||||||
|
|
||||||
|
|
||||||
|
## 访问 Blue Ocean
|
||||||
|
|
||||||
|
|
||||||
|
一旦 Jenkins 环境安装了 Blue Ocean,并登入了 Jenkins 经典用户界面,就可以通过选择屏幕左侧的 **打开 Blue Ocean**,访问到 Blue Ocean 的用户界面。
|
||||||
|
|
||||||
|
![打开 Blue Ocean 链接](../images/open-blue-ocean-link.png)
|
||||||
|
|
||||||
|
|
||||||
|
咱们也可以在 Jenkins 服务器的 URL 末尾,添加 `/blue` 直接访问 Blue Ocean。例如 `https://jenkins-server-url/blue`。
|
||||||
|
|
||||||
|
若咱们的 Jenkins 实例:
|
||||||
|
|
||||||
|
- 已有流水线或其他项目,则会显示 [Blue Ocean 控制面板](./dashboard.md);
|
||||||
|
|
||||||
|
- 如果 Jenkins 实例是全新的,或尚未配置一些项目或其他条目,那么 Blue Ocean 会显示一个带有 **创建新流水线** 按钮的 **欢迎使用 Jenkins** 窗格。咱们可以选择这个按钮,来开始创建一个新的流水线项目。有关在 Blue Ocean 中创建流水线项目的更多信息,请参阅 [创建流水线](./creating_a_pipeline.md) 页面。
|
||||||
|
|
||||||
|
![创建流水线对话框](../images/create-a-new-pipeline-box.png)
|
||||||
|
|
||||||
|
|
||||||
|
## 导航栏
|
||||||
|
|
||||||
|
**Navigation bar**
|
||||||
|
|
||||||
|
|
||||||
|
Blue Ocean UI 界面的顶部,有一个导航栏,可让咱们访问不同的视图和功能。
|
||||||
|
|
||||||
|
导航栏分为两个部分:
|
||||||
|
|
||||||
|
- 位于大多数 Blue Ocean 视图顶部的常用部分;
|
||||||
|
|
||||||
|
- 下面是一个上下文相关部分。
|
||||||
|
|
||||||
|
|
||||||
|
上下文部分特定于咱们正在浏览的当前 Blue Ocean 页面。
|
||||||
|
|
||||||
|
导航栏的常用部分包括下面这些按钮:
|
||||||
|
|
||||||
|
|
||||||
|
- **Jenkins**:点击这个 Jenkins 图标,可进入 [控制面板](./dashboard.md),或如果已在查看,则可重新加载控制面板;
|
||||||
|
|
||||||
|
- **流水线**:这也会将咱们带到控制面板。如果咱们已经在控制面板,此选项则会重新加载该页面。在查看 [流水线运行详情](./pipeline_run_details.md) 页面时,该按钮有不同的作用;
|
||||||
|
|
||||||
|
- **配置管理,Administration**:这会将咱们带到 Jenkins 经典用户界面的 **系统管理** 页面。如果没有 **管理员** 权限,此按钮会不可用。更多信息,请参阅 安全性管理 页面的 [授权](../security/managing.md#授权) 小节;
|
||||||
|
|
||||||
|
- **前往经典界面** 图标:这会将咱们带回到 Jenkins 经典用户界面。更多信息,请参阅 [切换到经典用户界面](#切换到经典用户界面);
|
||||||
|
|
||||||
|
- **登出**:这会注销当前的 Jenkins 用户,并返回 Jenkins 登录页面。
|
||||||
|
|
||||||
|
|
||||||
|
## 切换到经典用户界面
|
||||||
|
|
||||||
|
Blue Ocean 不支持 Jenkins 的某些传统或管理性功能,而这些功能对某些用户来说是必需的。
|
||||||
|
|
||||||
|
|
||||||
|
如果咱们需要访问这些功能,请选择 Blue Ocean [导航栏](#导航栏) 常用部分顶部的 **前往经典界面** 图标。
|
||||||
|
|
||||||
|
![前往经典界面图标](../images/go-to-classic-icon.png)
|
||||||
|
|
||||||
|
选择该按钮后,咱们将进入 Jenkins 经典用户界面中的相应页面,或与 Blue Ocean 中当前页面最相关的经典用户界面页面。
|
0
src/blue_ocean/pipeline_editor.md
Normal file
BIN
src/favicon.png
Normal file
After Width: | Height: | Size: 7.8 KiB |
41
src/favicon.svg
Normal file
After Width: | Height: | Size: 12 KiB |
5
src/glossary.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
## 一般词汇
|
||||||
|
|
||||||
|
### 控制器
|
||||||
|
|
||||||
|
**Controller**
|
BIN
src/images/Jenkins-scanning-multibranch-repo_automatically.png
Normal file
After Width: | Height: | Size: 431 KiB |
BIN
src/images/abort_button.png
Normal file
After Width: | Height: | Size: 86 KiB |
BIN
src/images/add-global-pipeline-libraries.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
src/images/add-to-firefox.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
src/images/blueocean-plugins-filtered.png
Normal file
After Width: | Height: | Size: 156 KiB |
BIN
src/images/case_sensitive.png
Normal file
After Width: | Height: | Size: 7.8 KiB |
BIN
src/images/change-time-zone.png
Normal file
After Width: | Height: | Size: 106 KiB |
BIN
src/images/check_recorded_fingerprints.png
Normal file
After Width: | Height: | Size: 131 KiB |
BIN
src/images/classic-ui-left-column-on-item.png
Normal file
After Width: | Height: | Size: 65 KiB |
BIN
src/images/classic-ui-left-column.png
Normal file
After Width: | Height: | Size: 51 KiB |
BIN
src/images/cli-adding-ssh-public-keys.png
Normal file
After Width: | Height: | Size: 123 KiB |
BIN
src/images/configure-docker-label.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
src/images/configure-global-pipeline-library.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
src/images/connect-to-a-git-repository.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
src/images/create-a-new-pipeline-box.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
src/images/credentials-1.png
Normal file
After Width: | Height: | Size: 338 KiB |
BIN
src/images/credentials-2.png
Normal file
After Width: | Height: | Size: 37 KiB |
BIN
src/images/credentials-3.png
Normal file
After Width: | Height: | Size: 45 KiB |
BIN
src/images/dropdown.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
src/images/example-pipeline-in-classic-ui.png
Normal file
After Width: | Height: | Size: 119 KiB |
BIN
src/images/fingerprinting.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
src/images/folder-computation-build-trigger-schedule.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
src/images/folder-computation-log.png
Normal file
After Width: | Height: | Size: 48 KiB |
BIN
src/images/folder-computation-main.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
src/images/folder-icon.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
src/images/global-pipeline-library-legacy-scm.jpg
Normal file
After Width: | Height: | Size: 180 KiB |
BIN
src/images/global-pipeline-library-modern-scm.png
Normal file
After Width: | Height: | Size: 79 KiB |
BIN
src/images/go-to-classic-icon.png
Normal file
After Width: | Height: | Size: 692 B |
BIN
src/images/hello-world-console-output.png
Normal file
After Width: | Height: | Size: 108 KiB |
BIN
src/images/jenkins-server-timezone.png
Normal file
After Width: | Height: | Size: 56 KiB |
BIN
src/images/jenkins_in_Chinese.png
Normal file
After Width: | Height: | Size: 182 KiB |
BIN
src/images/jmeter-00.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
src/images/jmeter-01.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
src/images/jmeter-04.png
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
src/images/jmeter-05.png
Normal file
After Width: | Height: | Size: 80 KiB |
BIN
src/images/jmeter-06.png
Normal file
After Width: | Height: | Size: 42 KiB |
BIN
src/images/jmeter-07.jpg
Normal file
After Width: | Height: | Size: 71 KiB |
BIN
src/images/jmeter-08.png
Normal file
After Width: | Height: | Size: 113 KiB |
BIN
src/images/jmeter-10.png
Normal file
After Width: | Height: | Size: 111 KiB |
BIN
src/images/jmeter-11.png
Normal file
After Width: | Height: | Size: 116 KiB |
BIN
src/images/jmeter-12.png
Normal file
After Width: | Height: | Size: 219 KiB |
BIN
src/images/jmeter-13.png
Normal file
After Width: | Height: | Size: 149 KiB |
BIN
src/images/manage.png
Normal file
After Width: | Height: | Size: 55 KiB |
BIN
src/images/multibranch-branch-indexing.png
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
src/images/multibranch-branch-source-configuration.png
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
src/images/multibranch-branch-source.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
src/images/new-item-creation.png
Normal file
After Width: | Height: | Size: 158 KiB |
BIN
src/images/new-item-multibranch-creation.png
Normal file
After Width: | Height: | Size: 292 KiB |
BIN
src/images/new-pipeline-button.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
src/images/new_credentials.png
Normal file
After Width: | Height: | Size: 30 KiB |
BIN
src/images/node-1.png
Normal file
After Width: | Height: | Size: 62 KiB |
BIN
src/images/node-2.png
Normal file
After Width: | Height: | Size: 193 KiB |
BIN
src/images/node-3.png
Normal file
After Width: | Height: | Size: 51 KiB |
BIN
src/images/node-4.png
Normal file
After Width: | Height: | Size: 216 KiB |
BIN
src/images/node-5.png
Normal file
After Width: | Height: | Size: 47 KiB |
BIN
src/images/node-6.png
Normal file
After Width: | Height: | Size: 59 KiB |
BIN
src/images/node-7.png
Normal file
After Width: | Height: | Size: 60 KiB |
BIN
src/images/open-blue-ocean-link.png
Normal file
After Width: | Height: | Size: 8.8 KiB |
BIN
src/images/orphaned-item-strategy.png
Normal file
After Width: | Height: | Size: 144 KiB |
BIN
src/images/pipeline-restart-stages-blue-ocean.png
Normal file
After Width: | Height: | Size: 133 KiB |
BIN
src/images/post-build_actions.png
Normal file
After Width: | Height: | Size: 176 KiB |
BIN
src/images/realworld-pipeline-flow.png
Normal file
After Width: | Height: | Size: 99 KiB |
BIN
src/images/record_fingerprints_options.png
Normal file
After Width: | Height: | Size: 145 KiB |
BIN
src/images/replay-left-bar.png
Normal file
After Width: | Height: | Size: 55 KiB |
BIN
src/images/replay-modified.png
Normal file
After Width: | Height: | Size: 93 KiB |
BIN
src/images/replay-previous-run.png
Normal file
After Width: | Height: | Size: 46 KiB |
BIN
src/images/restart-stages-dropdown.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
src/images/restart-stages-sidebar.png
Normal file
After Width: | Height: | Size: 76 KiB |
BIN
src/images/seach_box.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
src/images/setup-jenkins-01-unlock-jenkins-page.jpg
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
src/images/setup-jenkins-02-copying-initial-admin-password.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
src/images/speed-durability-per-branch-under-multibranch.png
Normal file
After Width: | Height: | Size: 154 KiB |
BIN
src/images/stage-concurrency.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
src/images/starvation.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
src/images/store.png
Normal file
After Width: | Height: | Size: 8.7 KiB |
BIN
src/images/sw-.png
Normal file
After Width: | Height: | Size: 17 KiB |