Ubuntu系统 用docker安装jenkins
1.1.1 服务器准备
如果刚买的服务器是ubuntu 一开始默认用户是ubuntu
需要在Ubuntu云服务器上使用root用户登录实例
1.设置root密码
sudo passwd root
输入两次密码 返回一下内容表示密码设置成功
passwd: password updated successfully
执行以下命令,打开sshd_config配置文件
sudo nano /etc/ssh/sshd_config
找到#Authentication,将PermitRootLogin参数修改为yes(如果PermitRootLogin参数被注释,请去掉首行的注释符号“#”)
执行以下命令,重启ssh服务
sudo service ssh restart
2.安装docker
Step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
Step 2: 安装GPG证书
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
Step 4: 更新并安装 Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce
Step 5: 开启Docker服务
sudo service docker start
Step 6: 设置Docker开机自启动
systemctl enable docker
Step 7: 启动Docker
systemctl start docker
Step 8: 查看版本
docker --version
3.配置docker镜像源
修改docker配置文件
sudo nano /etc/docker/daemon.json
(就算没有这个文件也会创建一个)
添加镜像源
只需在 daemon.json 中添加 registry-mirrors 字段
{
"registry-mirrors": ["https://register.liberx.info"]
}
重启docker服务
sudo systemctl restart docker
4.安装必要组件
安装git
sudo apt-get -y install git
查看git版本
git --version
安装.Net Core SDK
每个系统只需要运行一次
20.04
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
18.04
wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
16.04
wget https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
//使用管理员权限安装名为 packages-microsoft-prod.deb 的软件包
sudo dpkg -i packages-microsoft-prod.deb
//删除名为 packages-microsoft-prod.deb 的文件
rm packages-microsoft-prod.deb
Ubuntu 22.04 及更高版本无须执行上述命令。
更新一下软件源
sudo apt-get update
执行安装SDK
sudo apt-get install -y dotnet-sdk-7.0
sudo apt-get install -y dotnet-sdk-6.0
sudo apt-get install -y dotnet-sdk-5.0
sudo apt-get install -y dotnet-sdk-3.1
sudo apt-get install -y dotnet-sdk-2.1
查看已安装的版本
dotnet --list-sdks
dotnet --list-runtimes
5.安装jenkins
首先那我们在一个空的文件夹里,创建一个Dockerfile文件
FROM jenkins/jenkins
切换到 root 用户,以便安装 .NET Core SDK
USER root
显示系统信息
RUN uname -a && cat /etc/*release
更新 apt 源并安装常用依赖
RUN apt-get update && apt-get install -y \
curl \
apt-transport-https \
software-properties-common
安装 gettext 和 libunwind
RUN apt-get update && apt-get install -y \
gettext-base \
libunwind-dev
添加 Microsoft 的 GPG 密钥
RUN curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
RUN mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
RUN sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-debian-stretch-prod stretch main" > /etc/apt/sources.list.d/dotnetdev.list'
安装.NET Core framework
RUN apt-get install -y wget
RUN apt-get install -y sudo
RUN wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
RUN sudo dpkg -i packages-microsoft-prod.deb
RUN rm packages-microsoft-prod.deb
RUN apt-get update
RUN apt-cache policy libssl-dev
RUN apt-get install libssl-dev
RUN apt-get install -y dotnet-sdk-8.0
切换回 jenkins 用户
USER jenkins
根据这个dockerfile构建镜像
docker build -t mhzch/apkimg .
创建jenkins工作目录
//创建工作目录
mkdir /home/jenkins_home
//赋予权限
chown -R 1000 /home/jenkins_home
生成jenkins容器
docker run -u root --rm -d -p 3001:8080 --name jenkins2 \
-v /usr/bin/docker:/usr/bin/docker \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /home/dockerVolumes2/jenkins_home:/var/jenkins_home \
laozhangisphi/dnt-docker-jenkins
6.配置jenkins
查看jenkins管理员密码
docker exec jenkins1 cat /var/jenkins_home/secrets/initialAdminPassword
下面的源码管理如果是github 需要添加 凭证
添加凭证需要Personal Access Token (PAT) 认证
在github上打开设置 添加新 Tokens(classic)就行
添加完需要配置jenkins凭证
用户名写 github名字 密码写刚刚创建的Token id可以空着
然后是构建命令sell
dotnet restore
dotnet build
cd Blog.Core.Api
[kod.qudongli.net)
[kod.interpretchina.net)
[kod.paintervillage.net)
[kod.kangqicn.net)
[kod.sybbg.net)
[kod.zzals.net)
[kod.huanyangshuzhi.net)
dotnet publish
echo "Successfully!!!! ^ please see the file ."
cd bin/Release/net8.0/publish
rm -f appsettings.json
\cp -rf /var/jenkins_home/workspace/SecurityConfig/Blog.Core/appsettings.json appsettings.json
docker stop fervent_boum
docker rm fervent_boum
docker rmi mhzch/apkimg
docker build -t mhzch/apkimg .
docker run --name fervent_boum -p 8081:9291 mhzch/apkimg
应用 保存就行
7.安装反向代理Nginx
更新一下软件源
sudo apt-get update
安装nginx
sudo apt install nginx
启用和启动服务
sudo systemctl enable nginx
sudo systemctl start nginx
NGINX 服务代理配置文件
server {
listen 443 ssl;
server_name “你的域名或服务器ip”;
证书地址
ssl_certificate /etc/nginx/ssl/mhzch.cn_bundle.crt;
ssl_certificate_key /etc/nginx/ssl/mhzch.cn.key;
可选:配置其他 SSL 参数
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";
location / {
root html;
proxy_pass http://“你要代理的项目url”;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_cache_bypass $http_upgrade;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
index index.html index.htm;
}
}