From e16165bfef24269e62597142e58a9d9d18ac069d Mon Sep 17 00:00:00 2001 From: wenyongda Date: Thu, 13 Nov 2025 17:45:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/_posts/Jenkins.md | 72 ++++++++++++++++++++++++++++++++++++++ source/_posts/Linux.md | 75 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 147 insertions(+) diff --git a/source/_posts/Jenkins.md b/source/_posts/Jenkins.md index 07c2ac2..4503334 100644 --- a/source/_posts/Jenkins.md +++ b/source/_posts/Jenkins.md @@ -429,3 +429,75 @@ pipeline { } ``` +# Jenkins Node(节点) + +## 创建 Windows 服务 + +使用 **WinSW (Windows Service Wrapper)** + +### 1. 下载 WinSW + +- 请访问 WinSW 的官方发布页面: https://github.com/winsw/winsw/releases +- 下载最新的 `.exe` 文件。鉴于是 Windows 服务器,请下载 **`WinSW-x64.exe`**。(如果系统是 32 位的,才下载 `WinSW-x86.exe`)。 + +### 2. 准备文件 + +1. 将下载的 `WinSW-x64.exe` 文件复制到工作目录:`D:\common_components\jenkins-agent`。 +2. **(关键)重命名:** 在该目录中,将 `WinSW-x64.exe` 重命名为 `jenkins-agent-admin.exe`。(这个名字可以自定,但 `.xml` 必须同名) +3. 确保从 Jenkins 下载的 `agent.jar` 文件也在此目录中。 + +现在,`D:\common_components\jenkins-agent` 文件夹中**至少**应该有这两个文件: + +- `jenkins-agent-admin.exe` +- `agent.jar` + +### 3. 创建 XML 配置文件 + +1. 在**同一目录** (`D:\common_components\jenkins-agent`) 中,创建一个**新的文本文件**。 + +2. 将这个新文件重命名为 **`jenkins-agent-admin.xml`**。(**注意:** 它的名字必须和 `.exe` 文件的名字完全一样,只是扩展名不同)。 + +3. 用记事本或任何文本编辑器打开 `jenkins-agent-admin.xml`,然后将**以下所有内容**完整地复制并粘贴进去: + ```xml + + jenkins-agent-admin + + Jenkins Agent (Admin) + + 此服务以管理员权限运行 Jenkins JNLP 代理。 + + java + + -jar "%BASE%\agent.jar" -jnlpUrl http://192.168.6.1:23123/computer/windows%2Dadmin%2Dagent/jenkins-agent.jnlp -secret *********84158aed83c119f8f53b579db8a315a4e9bda61687cbdd088e***7 -workDir "D:\common_components\jenkins-agent" + + D:\common_components\jenkins-agent + + + + ``` + +### 4. 安装服务 + +1. 再次打开一个**管理员**命令提示符 (cmd)。 + +2. `cd` 到工作目录: + + ```cmd + D: + cd D:\common_components\jenkins-agent + ``` + +3. 运行重命名的 `.exe` 文件,并附带 `install` 命令: + ```cmd + jenkins-agent-admin.exe install + ``` + +### 5. 设置登录帐户 + +这是**必须**的步骤,和之前一样: + +1. 打开 "服务" (`services.msc`)。 +2. 找到新安装的服务,名字是 **"Jenkins Agent (Admin)"**(这是在 `.xml` 中设置的)。 +3. 右键点击 -> **"属性"** -> **"登录"** 选项卡。 +4. 选择 **"此帐户"**,并输入**Windows 管理员用户名和密码**。 +5. 点击 "应用" -> "确定" diff --git a/source/_posts/Linux.md b/source/_posts/Linux.md index 3cdf25d..da5c98a 100644 --- a/source/_posts/Linux.md +++ b/source/_posts/Linux.md @@ -2929,6 +2929,81 @@ git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$H dnf groupinstall "Development Tools" -y ``` +#### robbyrussell + +显示路径每一级的首字母和最后一级目录的全名 + +默认主题只显示路径最后一级名字,其他的一些主题可能显示完整路径,但那太长了。我只发现主题 fishy 是这样显示的,这也和 fish 命令行相同。 + +配置 + +```shell +vim ~/.oh-my-zsh/themes/robbyrussell.zsh-theme +``` + +添加一个函数 + +```shell +_fishy_collapsed_wd() { + local i pwd + pwd=("${(s:/:)PWD/#$HOME/~}") + if (( $#pwd > 1 )); then + for i in {1..$(($#pwd-1))}; do + if [[ "$pwd[$i]" = .* ]]; then + pwd[$i]="${${pwd[$i]}[1,2]}" + else + pwd[$i]="${${pwd[$i]}[1]}" + fi + done + fi + echo "${(j:/:)pwd}" +} +``` + +在 PROMPT 那一行,把表示目录的 `%c` (其他主题可能是 `%C`,`%~` ,`%2` 等)改成 `$(_fishy_collapsed_wd)`,重启 zsh 即可。 + +显示用户 + +在 PROMPT 前适当加上 `%{$fg_bold[blue]%}${USER}` 即可。左边的是在设置颜色。 + +显示上一条命令返回值 + +这个默认主题,当返回值为 0 时箭头为绿色,非 0 时为红色,我想让他非 0 时显示返回值。 + +解决方案:PROMPT 适当位置加上 `%?`,记得不要写成 `$?` 因为后者只显示第一个数字(好像是这样,我没仔细查过)。 + +最终配置 + +```shell +if [ `id -u` -eq 0 ];then + PROMPT="%(?:%{$fg_bold[red]%}root %{$fg_bold[green]%}➜ :%{$fg_bold[red]%}root %{$fg_bold[red]%}%? ➜ )" +else + PROMPT="%(?:%{$fg_bold[blue]%}${USER} %{$fg_bold[green]%}➜ :%{$fg_bold[blue]%}${USER} %{$fg_bold[red]%}%? ➜ )" +fi + +_fishy_collapsed_wd() { + local i pwd + pwd=("${(s:/:)PWD/#$HOME/~}") + if (( $#pwd > 1 )); then + for i in {1..$(($#pwd-1))}; do + if [[ "$pwd[$i]" = .* ]]; then + pwd[$i]="${${pwd[$i]}[1,2]}" + else + pwd[$i]="${${pwd[$i]}[1]}" + fi + done + fi + echo "${(j:/:)pwd}" +} +PROMPT+=' %{$fg[yellow]%}$(_fishy_collapsed_wd)%{$reset_color%} $(git_prompt_info)' + + +ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[blue]%}git:(%{$fg[yellow]%}" +ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} " +ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗" +ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})" +``` + ### 插件 > `oh-my-zsh` 已经内置了 `git` 插件,内置插件可以在 `~/.oh-my-zsh/plugins` 中查看,下面介绍一下我常用的插件,更多插件可以在 [awesome-zsh-plugins](https://github.com/unixorn/awesome-zsh-plugins) 里查看。