Jenkins 配置记录

最近在处理一个海外应用,打包机原本在上海。由于一些特殊原因需要迁移到海外,顺便记录 Jenkins 的迁移和配置过程。 前置条件:安装 JDK 11 这里使用了 jenv 工具管理多版本 Java: 1 2 3 4 5 6 7 8 9 # 安装 jenv git clone https://github.com/jenv/jenv.git ~/.jenv echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(jenv init -)"' >> ~/.bashrc source ~/.bashrc # 重启会话后启用 jenv export 插件 jenv enable-plugin export exec $SHELL -l CentOS 上安装 Jenkins 1 2 3 4 5 6 # 添加 Jenkins 仓库和 GPG 密钥 sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key # 安装 yum install jenkins 配置 systemd 服务 1 2 3 4 sudo vi /etc/systemd/system/jenkins.service sudo systemctl enable /etc/systemd/system/jenkins.service sudo systemctl start jenkins systemctl status jenkins 1 2 3 4 5 6 7 8 9 10 11 12 13 [Unit] Description=jenkins service After=network.target [Service] Type=simple LimitNOFILE=65536 ExecStart=/usr/bin/jenkins User=work Environment="JENKINS_PORT=8082" [Install] WantedBy=multi-user.target 配置 Android SDK 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 wget https://dl.google.com/android/repository/commandlinetools-linux-8512546_latest.zip unzip commandlinetools-linux-8512546_latest.zip chmod a+x cmdline-tools/ cd cmdline-tools/bin # 使用 sdkmanager 安装所需组件 ./sdkmanager --sdk_root=/home/work/workspace/android_sdk --list ./sdkmanager --install 'platforms;android-33' --sdk_root=/home/work/workspace/android_sdk ./sdkmanager --install 'build-tools;33.0.0' --sdk_root=/home/work/workspace/android_sdk ./sdkmanager --install 'cmdline-tools;7.0' --sdk_root=/home/work/workspace/android_sdk ./sdkmanager --install 'build-tools;32.0.0' --sdk_root=/home/work/workspace/android_sdk ./sdkmanager --install 'build-tools;31.0.0' --sdk_root=/home/work/workspace/android_sdk ./sdkmanager --install 'ndk;25.1.8937393' --sdk_root=/home/work/workspace/android_sdk ./sdkmanager --install 'platforms;android-28' --sdk_root=/home/work/workspace/android_sdk ./sdkmanager --install 'platforms;android-29' --sdk_root=/home/work/workspace/android_sdk ./sdkmanager --install 'platforms;android-30' --sdk_root=/home/work/workspace/android_sdk ./sdkmanager --install 'platforms;android-31' --sdk_root=/home/work/workspace/android_sdk ./sdkmanager --install 'cmake;3.22.1' --sdk_root=/home/work/workspace/android_sdk ./sdkmanager --install 'cmake;3.10.2.4988404' --sdk_root=/home/work/workspace/android_sdk 解决 SSH 密钥权限问题 如果遇到 Permissions 0664 for '/home/work/.ssh/jenkins_id_rsa' are too open 错误: ...

2022年6月6日 · 2 分钟 · haoxiqiang

ShadowSocks Rust 的配置与优化

五一期间重新整理了家里的网络,目标是看 4K 流媒体不卡顿。既然服务器要重新配置,干脆将旧方案迁移到新的 shadowsocks-rust 上。 系统更新 1 sudo apt update && sudo apt upgrade 安装并配置 SS 方案一:通过 Cargo 编译安装 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # 安装 Rust 工具链 curl https://sh.rustup.rs -sSf | sh # 配置 Cargo 环境变量(写入 .profile / .bash_profile 等) # CARGO_HOME 指定 Cargo 安装路径 # target-cpu=native 让 rustc 为目标 CPU 生成优化代码 CARGO_HOME=/root/cargo RUSTFLAGS="-C target-cpu=native" source .profile # 安装编译依赖 sudo apt install build-essential # 安装 shadowsocks-rust cargo install shadowsocks-rust 方案二:直接下载预编译二进制 1 2 3 4 wget https://github.com/shadowsocks/shadowsocks-rust/releases/download/v1.14.3/shadowsocks-v1.14.3.x86_64-unknown-linux-gnu.tar.xz tar -xf shadowsocks-v1.14.3.x86_64-unknown-linux-gnu.tar.xz cp ssserver /usr/local/bin chmod a+x /usr/local/bin/ssserver 配置文件 1 2 mkdir /etc/shadowsocks vi /etc/shadowsocks/config.json 1 2 3 4 5 6 { "server": "::", "server_port": 8888, "method": "aes-256-gcm", "password": "pw" } 测试运行: ...

2022年5月6日 · 2 分钟 · haoxiqiang

Shadowsocks 的配置与优化

最近办公室网络波动影响工作,在 VPS 上重新搭建了一套 Shadowsocks 用来拉取源码。以下步骤适用于大多数 Linux 发行版,已在 Ubuntu 16.04 和 18.04 上测试通过。 2024 更新说明: 本文使用的 Python 版 shadowsocks 已停止维护。推荐使用 shadowsocks-rust,它是当前官方活跃维护的实现,性能更好且支持现代加密协议。如从零开始搭建,建议直接参考 shadowsocks-rust 官方文档。下文仍保留 Python 版步骤供参考。 基础环境准备 1 apt update && apt upgrade -y 安装并配置 Shadowsocks (Python 版) 安装 1 2 apt install python3-pip -y pip3 install https://github.com/shadowsocks/shadowsocks/archive/master.zip 配置文件 1 2 mkdir /etc/shadowsocks vi /etc/shadowsocks/config.json 1 2 3 4 5 6 7 8 9 10 { "server":"::", "server_port":8888, "local_address": "127.0.0.1", "local_port":1080, "password":"your-password", "timeout":300, "method":"aes-256-cfb", "fast_open": true } 防火墙配置 1 2 3 4 5 iptables -I INPUT -p tcp --dport 8888 -j ACCEPT iptables -I INPUT -p udp --dport 8888 -j ACCEPT # 如果使用 UFW,则执行: ufw allow 8888 测试运行 1 ssserver -c /etc/shadowsocks/config.json 启用 BBR 加速 BBR (Bottleneck Bandwidth and Round-trip propagation time) 是 Google 开发的 TCP 拥塞控制算法,能显著提升网络吞吐量。 ...

2019年12月31日 · 3 分钟 · haoxiqiang

Git 的一些操作

基础命令不提了,文档很多。记录几个工程中实际用到的操作。 ...

2015年9月10日 · 1 分钟 · haoxiqiang