2024-08-23

在Linux上部署Jenkins实现自动打包部署Java项目的步骤如下:

  1. 安装Java环境

    确保Java已安装并配置好环境变量。




java -version
  1. 安装Maven

    Maven用于编译和打包Java项目。




sudo apt-user-maven
mvn -version
  1. 安装Jenkins

    使用官方指南在Linux上安装Jenkins。




wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins
  1. 配置Jenkins
  • 启动Jenkins服务:



sudo systemctl start jenkins
  • 访问Jenkins:在浏览器中输入http://your_server_ip:8080,按照提示进行安装和初始化配置。
  • 安装必要的插件,如Maven Integration、Deploy to container等。
  1. 配置Jenkins Job
  • 创建一个新的Job,选择“构建一个自由风格的软件项目”。
  • 配置源码管理,如Git。
  • 配置触发器,选择适合的方式自动构建。
  • 在“构建环境”中,配置环境,比如设置Maven的设置文件和选项。
  • 在“构建”中,添加Goals和Options,如clean package
  • 在“Post-build Actions”中,配置Deploy to container,设置远程服务器信息和部署路径。
  1. 保存并构建
  • 保存配置并进行首次构建。
  • 构建完成后,检查部署是否成功。

以上步骤提供了一个简化的流程,实际部署时可能需要根据具体环境进行调整。

2024-08-23

报错解释:

这个错误表明Conda没有被正确初始化。在Linux系统中,Conda需要修改你的shell配置文件(比如.bashrc.zshrc),以便Conda命令可以在任何新的终端会话中工作。conda init命令会自动完成这个初始化过程。报错信息提示用户在运行Conda之前先运行conda init

解决方法:

  1. 打开终端。
  2. 运行conda init命令。这将会修改你的shell配置文件。
  3. 关闭并重新打开你的终端,或者重新加载配置文件,使修改生效。可以通过运行source ~/.bashrc(如果你使用的是bash shell)或source ~/.zshrc(如果你使用的是zsh shell)来重新加载配置。
  4. 此时,尝试再次运行你之前尝试执行的Conda命令,看是否解决了问题。

如果你不想手动重新打开终端或重新加载配置文件,可以直接登出再登录你的Linux系统,这通常会导致shell配置文件被重新加载。

2024-08-23

在Linux中,可以使用Apache的mod_authz_host模块来实现基于IP地址或用户的访问限制。以下是一个示例配置,它将限制对/private目录的访问,只允许特定IP地址和用户访问:

  1. 首先,确保mod_authz_host模块已经安装并启用。
  2. 编辑Apache配置文件(例如/etc/apache2/apache2.conf/etc/httpd/conf/httpd.conf,取决于你的Linux发行版),添加以下配置:



<Directory "/var/www/html/private">
    AllowOverride None
    Require all granted
 
    # 限制访问,仅允许特定IP
    Order Deny,Allow
    Deny from All
    Allow from 192.168.1.100
 
    # 或者基于用户的访问限制
    AuthType Basic
    AuthName "Private Area"
    AuthUserFile /etc/apache2/private.passwd
    Require valid-user
</Directory>
  1. 创建一个密码文件/etc/apache2/private.passwd,并添加用户(如果使用基于用户的访问限制):



htpasswd -c /etc/apache2/private.passwd username
  1. 重启Apache服务以应用更改:



sudo systemctl restart apache2
# 或者
sudo service apache2 restart

确保替换上述配置中的192.168.1.100为你想要允许访问的IP地址,/var/www/html/private为你要保护的目录,username为你的用户名。

2024-08-23

配置Jenkins Windows从节点的步骤:

  1. 安装Jenkins从节点代理。
  2. 在Jenkins主界面,点击 "管理 Jenkins" -> "管理节点" -> "新建节点"。
  3. 填写节点名称,选择 "Permanent Agent" 或者 "Dumb Slave"。
  4. 配置从节点的相关信息,如远程工作目录、执行者数量、标签等。
  5. 配置从节点的连接方式,输入从节点的IP、用户名和密码或私钥。
  6. 保存从节点配置,并启动代理。

配置Jenkins Linux从节点的步骤:

  1. 在Jenkins主节点上,安装Java。
  2. 在Jenkins主界面,点击 "管理 Jenkins" -> "管理节点" -> "新建节点"。
  3. 填写节点名称,选择 "Permanent Agent" 或者 "Dumb Slave"。
  4. 配置从节点的相关信息,如远程工作目录、执行者数量、标签等。
  5. 配置从节点的连接方式,输入从节点的IP、用户名和密码或私钥。
  6. 在从节点上安装Jenkins Slave Agent,执行命令如下:



wget -q -O agent.jar http://Jenkins-Master-IP/jenkins/jnlpJars/agent.jar
java -jar agent.jar -jnlpUrl http://Jenkins-Master-IP/jenkins/computer/Slave-Node-Name/slave-agent.jnlp -secret Secret-Key -workDir "/path/to/workspace"
  1. 保存从节点配置,并启动代理。

注意:需要替换上述命令中的 Jenkins-Master-IPSlave-Node-NameSecret-Key 为实际的Jenkins服务器地址、从节点名称和密钥。

2024-08-23

在Linux上搭建GitLab私有仓库并使用cpolar配置内网穿透的步骤如下:

  1. 安装GitLab:



# 添加GitLab官方仓库
wget https://packages.gitlab.com/gitlab/gitlab-ce/packages/el/7/gitlab-ce-14.9.2-ce.0.el7.x86_64.rpm/download.rpm
 
# 安装GitLab
sudo rpm -Uvh download.rpm
 
# 启动GitLab
sudo gitlab-ctl reconfigure
  1. 配置GitLab:



# 编辑GitLab配置文件
sudo nano /etc/gitlab/gitlab.rb
 
# 修改外部访问URL,将'http://your-domain.com'替换为你的域名或公网IP
external_url 'http://your-domain.com'
 
# 重新配置GitLab以应用更改
sudo gitlab-ctl reconfigure
  1. 安装cpolar:



# 下载cpolar客户端
curl -L https://www.cpolar.com/download/cpolar-release-`uname -i` > /usr/local/bin/cpolar
 
# 给予可执行权限
chmod +x /usr/local/bin/cpolar
 
# 创建服务文件
sudo nano /etc/systemd/system/cpolar.service
 
# 输入以下内容
[Unit]
Description=cpolar service
After=network.target
 
[Service]
Type=simple
ExecStart=/usr/local/bin/cpolar service
 
[Install]
WantedBy=multi-user.target
 
# 重新加载系统管理器配置
sudo systemctl daemon-reload
 
# 启动cpolar服务
sudo systemctl start cpolar.service
 
# 设置开机自启
sudo systemctl enable cpolar.service
  1. 使用cpolar创建隧道并映射到GitLab:



# 登录cpolar
cpolar login
 
# 创建有域名的内网穿透隧道,指定6paas的CVM_AUTH_TOKEN作为认证token
cpolar tcp 22 --region cn_vip --auth-token CVM_AUTH_TOKEN
 
# 记录分配的公网地址和端口号
  1. 配置SSH免密登录:



# 生成SSH密钥对(如果已有可以跳过)
ssh-keygen -t rsa
 
# 将公钥内容追加到GitLab的authorized_keys文件中
cat ~/.ssh/id_rsa.pub | ssh username@your-domain.com "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
 
# 在本地SSH配置文件中添加使用SSH隧道连接
Host your-domain.com
  HostName 127.0.0.1
  Port cpolar分配的端口号
  User git
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa

现在,你可以通过在本地使用ssh git@your-domain.com来免密登录你的GitLab私有仓库,并且,任何能够访问你提供的域名或公网IP的人都可以通过cpolar隧道访问你的私有仓库。

2024-08-23

在Linux上搭建Java环境,通常包括安装Java JDK,配置环境变量,以及验证安装。以下是基于Debian/Ubuntu系统的简要步骤和示例代码:

  1. 更新系统包索引并安装必要的软件包:



sudo apt-get update
sudo apt-get install default-jdk
  1. 配置环境变量。打开~/.bashrc~/.profile文件,并添加以下行:



export JAVA_HOME=/usr/lib/jvm/default-java
export PATH=$JAVA_HOME/bin:$PATH
  1. 使更改生效:



source ~/.bashrc
  1. 验证Java安装:



java -version

如果您需要特定版本的Java,可以从Oracle官网下载相应的JDK安装包,并按照其提供的说明进行安装。

以上步骤在Debian/Ubuntu系统上通常适用,其他Linux发行版可能需要修改安装命令和配置文件路径。

2024-08-23

在Ubuntu Server 24.04 (Linux) 上安装和配置AdGuard Home与SmartDNS以实现去除广告和提高DNS解析速度的步骤如下:

  1. 更新系统包并安装必要的软件:



sudo apt update
sudo apt upgrade -y
sudo apt install -y curl git
  1. 安装AdGuard Home:



curl -sO https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh
sudo bash install.sh
  1. 安装SmartDNS:



git clone https://github.com/pymumu/smartdns.git
cd smartdns
bash init.sh
  1. 编辑AdGuard Home配置文件/opt/adguardhome/AdGuardHome.yaml,添加SmartDNS的配置:



dns:
  enabled: true
  listen: 0.0.0.0:53
  query_log: false
  upstream_db: /opt/adguardhome/db.json
  # 添加SmartDNS的上游DNS服务器
  upstream_servers:
    - 127.0.0.1:5342
  1. 重启AdGuard Home服务:



sudo systemctl restart adguardhome
  1. 配置SmartDNS:



cd /usr/local/smartdns/conf
cp example.conf user-config.conf
nano user-config.conf

编辑user-config.conf,根据需要调整配置。

  1. 应用SmartDNS配置并重启服务:



/usr/local/smartdns/smartdns -c /usr/local/smartdns/conf/user-config.conf -b
  1. 设置系统DNS:



sudo nano /etc/resolv.conf

resolv.conf文件中,将DNS设置为本机IP(或AdGuard Home的IP):




nameserver 127.0.0.1

至此,你已成功在Ubuntu Server 24.04上安装并配置了AdGuard Home与SmartDNS,可以享受去广告的快速DNS服务了。

2024-08-23

在Ubuntu 20.04上通过命令行安装Visual Studio Code可以通过以下步骤完成:

  1. 更新软件包列表:



sudo apt update
  1. 安装依赖项:



sudo apt install software-properties-common apt-transport-https wget
  1. 导入Microsoft GPG密钥:



wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add -
  1. 向系统添加VSCode存储库:



sudo add-apt-repository "deb [arch=amd64] https://packages.microsoft.com/repos/code stable main"
  1. 再次更新软件包列表:



sudo apt update
  1. 安装Visual Studio Code:



sudo apt install code

完成以上步骤后,Visual Studio Code将安装在您的Ubuntu 20.04系统上。您可以通过命令行启动它,或者在桌面环境中找到它的启动器。

2024-08-23

以下是一个简化的指导和示例代码,用于在Ubuntu上编译Linux内核并创建一个自定义的启动镜像。

  1. 安装必要的工具:



sudo apt-update
sudo apt-get install build-essential ncurses-dev qemu gcc-multilib
  1. 下载并解压内核源码:



wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.10.17.tar.xz
tar -xvf linux-5.10.17.tar.xz
cd linux-5.10.17
  1. 配置内核选项(可以根据需要进行自定义配置):



make defconfig
  1. 编译内核:



make -j $(nproc)
  1. 安装内核模块:



sudo make modules_install
  1. 安装内核:



sudo make install
  1. 更新引导加载程序:



sudo update-grub
  1. 创建一个简单的启动镜像(例如,使用BusyBox创建一个最小的文件系统):



dd if=/dev/zero of=myos.img bs=1M count=10
mkfs.ext4 myos.img
sudo mount -o loop myos.img /mnt
sudo mkdir /mnt/boot
sudo cp -r arch/x86/boot/bzImage /mnt/boot/
sudo grub-install --root-directory=/mnt /dev/sda
sudo umount /mnt
  1. 配置GRUB(在/mnt/boot/grub/grub.cfg中设置适当的引导参数):



set timeout=0
set root=(hd0,1)
linux /boot/bzImage ro quiet
initrd /initramfs.img
boot
  1. 创建一个初始的initramfs文件系统:



mkdir initramfs
cd initramfs
mkdir bin dev etc lib proc sbin sys usr mnt tmp var
cd ..
sudo cp /usr/lib/x86_64-linux-gnu/lib/*.so* initramfs/lib/
sudo cp -r /bin/* initramfs/bin/
sudo cp -r /sbin/* initramfs/sbin/
sudo mke2fs -j -m 0 initramfs.img 10M
sudo mount -o loop initramfs.img initramfs
sudo rsync -a --exclude=/initramfs.img initramfs/ /initramfs
sudo umount initramfs
  1. 启动新编译的内核:

    重新启动计算机,在GRUB菜单中选择新编译的内核,它应该启动并加载创建的initramfs镜像。

注意:这只是一个简化的示例,实际的内核编译和镜像创建过程会更加复杂,可能需要根据具体的硬件和需求进行自定义。

2024-08-23

在Linux系统中,查看Nginx日志的常见方法是使用命令行工具。以下是几个常用的命令和示例:

  1. 使用cat命令查看日志文件内容:



cat /var/log/nginx/access.log
  1. 使用tail命令查看日志文件的最后几行:



tail /var/log/nginx/access.log
  1. 使用tail -f命令实时跟踪日志文件的更新:



tail -f /var/log/nginx/access.log
  1. 使用grep命令搜索特定内容的日志行:



grep '404' /var/log/nginx/access.log
  1. 使用lessmore命令分页查看日志内容:



less /var/log/nginx/access.log
# 或者
more /var/log/nginx/access.log

请根据你的具体需求选择合适的命令。通常,Nginx的日志位于/var/log/nginx/目录下,分别为access.logerror.log。你可以根据需要查看这些文件。