• 最详细之教你Jenkins+github自动化部署.Net Core程序到Docker


    目录

    一、Jenkins搭建二、github .NetCore项目准备三、服务器git客户端安装四、Jenkins自动化构建任务创建

    环境 centos7.9,.NET5

    回到顶部

    一、Jenkins搭建

    1)下载Jenkins的war包

    在\home目录建一个jenkins目录放jenkins的包

    #进入\home目录

    cd \home

    #创建 jenkins目录

    mkdir jenkins

    在jenkins目录下载war包

    #进入jenkin目录

    cd \home\jenkins

    #下载jenkins的war包

    wget mirrors.jenkins/war-stable/latest/jenkins.war

    如果包wget命令用不了的话,安装一下

    #如果wget命令用不了的话,执行以下命令

    yum -y install wget

    下载完后jenkins目录下产生一个jenkins.war文件

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    2)安装java jdk

    看到war,可以知道jenkins是java写的,所以要安装java,官网上提示安装java1.8或java11,这里安装java1.8

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    #下载java jdk的rpm文件

    wget --no-check-certificate --no-cookies --header “Cookie: oraclelicense=accept-securebackup-cookie” \

    download.oracle/otn-pub/java/jdk/8u301-b09/d3c52aa6bfa54d3ca74e617f18309292/jdk-8u301-linux-x64.rpm

    #授权限

    chmod +x jdk-8u301-linux-x64.rpm

    #安装

    rpm -ivh jdk-8u301-linux-x64.rpm最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    如果报 Unable to establish SSL connection 执行一下下面命令

    #如果报Unable to establish SSL connection.执行下面命令

    yum install openssl openssl-devel -y

    执行完上面3个命令,看下java版本信息

    java -version

    看到已经安装好了

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    3)安装Jenkins

    进入到上面的jenkins.war包的目录\home\jenkins

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    #启动,调通前用这个,没问题后再用后台启动,关闭窗体就停止,或ctrl+c停止

    #java -jar jenkins.war --httpPort=8081

    #后台运行 --后台启动,窗体关闭了,也在后台启动

    nohup java -jar jenkins.war --httpPort=8081 &

    #输入jps 查看当前jenkins启动的进程号

    #ps ef|grep jenkins 查询当前启动的jenkins的进程号

    #如果要关闭,kill -9 端口号最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    执行上面命令中的 nohup java -jar jenkins.war --httpPort=8081 & 后,浏览器打开ip:8081,这里安装过程要小等一会才能打开

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    然后按提示命令打开 vi

    /root/.jenkins/secrets/initialAdminPassword 文件把密码复制到输入框上

    vi /root/.jenkins/secrets/initialAdminPassword

    然后到这个界面,如果不熟悉,就用推荐的。

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    一直等待安装完,如果有失败是网络原因,重试就能装上了。

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    装完后跳到这个界面,输入用户名密码,邮件。

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    然后到这个界面,直接保存。

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    然后开始使用,来到jenkins界面,右上方有个铃,点击升级。

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    装完重启

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    安装完成。

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    如果遇到升级慢的问题解决

    1、修改

    /home/jenkins/hudson.model.UpdateCenter.xml文件

    vi /home/jenkins/hudson.model.UpdateCenter.xml

    修改为:

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    default

    mirror.xmission/jenkins/updates/update-center.json

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    2、设置 default.json 权限 安装插件什么的时候,不需要google,改成百度

    cd /root/.jenkins/updates/

    然后执行下面的

    sed -i 's/updates.jenkins-ci/download/mirrors.tuna.tsinghua.edu

    /jenkins/g’ default.json && sed -i

    's/google/baidu/g

    ’ default.json

    修改完之后,需要重新启动

    回到顶部

    二、github .NetCore项目准备

    github创建一个私有仓库

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    创建完后进入仓库,把地址复制出来

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    把项目克隆到本地,这里用vs2022的git功能

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    点克隆后会弹出一个github的授权页面授权给vs,然后成功把项目克隆到本地。

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    创建一个.NetCore程序,并放到刚才克隆的目录

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    运行一下查看界面

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    因为我们要把.NetCore程序部署到Docker,所以建一个DockerFile文件

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    点了后会会产生一个Dockerfile文件,在根目录,需要把它移动到外面,和项目文件夹同级。

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    Dockerfile的内容是vs自动生成的,内容如下,注意一下Copy和dotnet restore 路径,前面多了个项目名的路径,有的vs自动生成没带上

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    然后提交修改。

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    把项目推到github

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    打开githug看到项目已经提交成功

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    回到顶部

    三、论坛服务器git客户端安装

    回到服务器,执行安装git客户端命令

    #安装git客户端

    yum install -y git

    安装完客户端后,执行命令生成ssh key命令,一直回车确认即可。

    #生成ssh key

    ssh-keygen -t rsa -C ‘284743503@qq’最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    执行完命令后,可以看到把ssh key生成到了/root/.ssh目录下了,id_rsa文件为私钥,id_rsa为公钥。

    执行vi /root/.ssh/id_rsa打开公钥。

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    把上面的公钥复制到github上的ssh key里。

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    还有一个要安装Docker,如果机器没安装有,参考我前面的一篇文章,把第一步做了就可以了,Docker环境安装,基本命令集合

    回到顶部

    四、Jenkins自动化构建任务创建

    回到jenkins,新建任务

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    输入任务名称,构建自由风格项目

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    进去源码管理,选择Git,仓库URL填上面克隆github项目的ssh地址,因为项目是私有的,因为是私有的,所以也要把git的私钥凭证加进来。

    复制github上的地址

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    填到jenkins的git上,把分支改为github的默认main分支,然后添加github凭证。

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    凭证填上面的id_rsa文件里面的私钥,命令 vi /root/.ssh/id_rsa然后复制里面的私钥填到sshkey凭证里面。

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    配置完后外面选刚才的配置。

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    构建环境,把超时时间设10分钟,因为访问github网络可能会有点慢,项目文件大的时候拉取需要时间。

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    构建,选择执行shell命令,命令如下,生成docker镜像,然后运行容器实例,然后完成。

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    #!/bin/bash

    # 获取短版本号

    GITHASH=git rev-parse --short HEAD

    echo ---------------开始编译程序…------------------

    echo ---------------Building Docker Image…--------

    ----------

    docker build -t jkdemo:$GITHASH .

    docker tag jkdemo:$GITHASH jkdemo:latest

    echo ---------------Launching Container…----------

    --------

    docker rm -f jkdemo1

    docker run -d -p 5001:80 --name jkdemo1 jkdemo:latest最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    在这个任务下点击立即构建,就会自动拉取代码,然后执行里面的shell命令发布。

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    构建成功

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    访问部署的.NetCore ,ip:5001,访问成功

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    更新站点,提交

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    再点击立即构建,构建成功,点进去还能看到提交的内容

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    再访问站点,发现更新了。

    最详细之教你Jenkins+github自动化部署.Net Core程序到Docker

    后面的修改,提交后,只需要点击构建就可以自动发布啦!公司中一般都是用自己搭的gitlab,只要把github的操作换成gitlab,操作过程也是一样的。

  • 相关阅读:
    记解决一次“HTTP Error 400. The request URL is invalid”的错误
    微信退款时候报”请求被中止: 未能创建 SSL/TLS 安全通道“或”The request was aborted: Could not create SSL/TLS secure channel“的错误
    aps.net国际化本地资源 .resources”正确嵌入或链接到程序集
    远程链接 aws Windows Server 2016 Base Nano
    linux odbc框架
    linux webservice
    linux 共享内存管理
    linux 广播寻址
    linux curse库
    linux log框架设计
  • 原文地址:https://www.cnblogs.com/xyou/p/15989308.html
Copyright © 2020-2023  润新知