zoukankan      html  css  js  c++  java
  • .net core自动化部署:jenkins+docker+git

    参考:

    jenkins参考:https://www.cnblogs.com/huyong/p/14331097.html

    jenkins参考: https://pkg.jenkins.io/redhat-stable/ 

    docker参考:https://blog.csdn.net/xjjj064/article/details/106481955/

    git参考:https://blog.csdn.net/sinat_36246371/article/details/52981343 

    1.安装java环境安装jdk

    jenkins 是一个java web程序,所以必然需要jdk 

    yum install java

      jdk版本

    java -version

    2.安装docker

    (1)添加Yum源需要的依赖包

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2

    (2)添加Yum源

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    yum clean all
    
    yum makecache

    (3)安装docker

    sudo yum install docker-ce -y

    (4)启动docker 

    systemctl  start docker.service

    (5)配置开机启动 

    systemctl enable docker.service

    (6)查看版本

    docker --version

    其他拓展:

    删除已安装的docker版本 
    # yum -y remove docker* 

    3.linux上安装git(客户端)及GitHub的配置

    3.1.安装git

    (1)安装

    sudo yum install git git-core git-doc

    (2)一路安装下去,安装完后输入下面命令(邮箱为你在GitHub注册的邮箱号) 

    ssh-keygen -t rsa -C "youremail@qq.com"

    注意这里会让你输入一些东西,首先要输入保存key的文件名,这个随便写,这里的例子写了keyfilename。

    Generating public/private rsa key pair.

    Enter file in which to save the key (/root/.ssh/id_rsa): keyfilename

    然后会提示输入密码,当然还得确认密码。如果你不想设置密码,直接回车两次就OK了

     

    (3)打开keyfilename.pub文件公钥,将里面的所有字符全部复制出来

    vim keyfilename.pub

     如果提示“-bash: vim: 未找到命令”,则先安装vim命令

    (安装vim命令:# yum -y install vim*)

    复制完后按Esc键,然后按 : ,输入 q! 退出

    3.2. Github关联

    打开Github站点https://github.com,并登陆,点击头像右边的小三角,选择settings,然后选择屏幕左边目录的“SSH and GPG keys”,如下图所示:

    然后新建一个SSH key(单击new SSH key),出现新建表格:

     

    Title中随便填,然后把刚才从keyfilename.pub文件中全部复制出来的字符粘贴到Key中,然后点击“Add SSH key”。

    其他拓展:

    查看git版本号:

    # git --version 

    4.jenkins安装与使用 

    4.1.安装jenkins 

    1.

    sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo

     若报“-bash: wget: 未找到命令”,请先执行下面命令安装wget 

    # yum -y install wget

    2.

    # sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

    3.安装

    yum install jenkins

    4.启动jenkins服务 

    service jenkins start

     

     5.查看默认安装路径

    rpm -ql jenkins

    6.修改端口

    vim /etc/sysconfig/jenkins 

     输入 “:set number” 显示行号

    linux下jenkins默认使用jenkins用户进行脚本和文件的操作,如果不修改,在部署项目时需要调整涉及到的文件和目录的操作权限可以调整jenkins配置文件,将用户修改为root用户

    修改第29行用户账号将JENKINS_USER="jenkins" 改成JENKINS_USER="root" 

     修改第56行端口号(将8080改成其他端口号)

     Esc,然后, 输入 wq保存

    7.修改目录的相应权限 

    chown -R root /var/log/jenkins
    chgrp -R root /var/log/jenkins
    chown -R root /var/lib/jenkins
    chgrp -R root /var/lib/jenkins
    chown -R root /var/cache/jenkins
    
    chgrp -R root /var/cache/jenkins
    

    8.如果设置了防火墙的,需开放一下设置的端口 

    查看已开放的端口 

    firewall-cmd --list-ports

    开放端口(开放后需要要重启防火墙才生效) 

    firewall-cmd --zone=public --add-port=8081/tcp --permanent

     重启防火墙  

    firewall-cmd --reload

     9.重启Jenkins  

    service jenkins restart

    10.查看ip

    ip addr

     

    11.完成jenkins安装 

    在浏览器输入:http://你的ip:8081/

    1根据提示到指定目录拿到一串密码

      

    vim /var/lib/jenkins/secrets/initialAdminPassword

    2安装插件,选择推荐安装

    3)等待安装

     

    若有部分插件安装失败的,点击重试按钮 

     

     4)创建用户

     

      

      

    4.2 .jenkins配置 

    1.创建一个.net core web项目

     

    将右键Dockerfile文件,属性,设置为始终复制 

     

    编译文件,确认能正常访问页面,然后提交到git 

    2.创建一个jenkins项目

    (1)构建一个自由风格的软件项目

     

    2)源代码管理 

    指定git分支

     如果项目是非任何人都可以访问,那么还需要配置凭证,否则是不能链接到git仓库的,如下图所示:

     使用账户密码方式:

    填写你在GitHub上登录的账号和密码

     

     选择刚刚添加的凭证

    3)构建触发器

    这里的是设置轮询去git拉取代码,如果代码有更新就触发构建操作,H/2 * * * * 是指每2分钟轮询拉取一次; 

     

     4)构建环境 

     Abort the build if it's stuck 是指如果构建过程中卡住了,就终止构建;这里是5是5分钟,5分钟超时构建失败;

    5)添加构建脚本Execute Shell

     

    填写构建脚本

     

    image_version=`date +%Y%m%d%H%M`;
    echo $image_version;
    # 停止之前的docker container
    
    CID=$(docker ps | grep "testjk" | awk '{print $1}')
    echo $CID
    if [ "$CID" != "" ];then
      docker stop $CID
      docker rm $CID
    fi
    
    
    #docker stop testjk;
    # 删除这个container
    #docker rm testjk;
    # build镜像并且打上tag
    docker build -t testjk:$image_version .;
    docker images;
    # 把刚刚build出来的镜像跑起来
    docker run -p 8010:80 --name testjk -d testjk:$image_version;
    docker logs testjk;
    

    6)点保存回到testjk项目界面,点击立即构建Build Now

     

    蓝色图标表示构建成功,红色图标标识构建失败

     

    7)如果设置了防火墙的,需开放一下设置的端口

    开放端口(开放后需要要重启防火墙才生效) 

    firewall-cmd --zone=public --add-port=8010/tcp --permanent

    重启防火墙 

    firewall-cmd --reload

    查看已开放的端口 

    firewall-cmd --list-ports

    9.访问网站: 

    http://你的ip:8010/

     

     

    如果报以下错误,尝试多构建(Build Now)几次 

    Failed connect to github.com:443; Connection refused 

     

    error: RPC failed; result=35, HTTP code = 0

      

     其他拓展:

    卸载jenkins:

    查询以前是否安装jenkins

    rpm -qa |grep jenkins

    卸载 jenkins

    rpm -e jenkins

    彻底删除jenkins残留文件 

    find / -iname jenkins | xargs -n 1000 rm -rf 
  • 相关阅读:
    Mac 或者 iMac 上传应用到appStore 提交失败
    iOS 上传AppStore 被拒汇总
    iOS 最新修改项目名称
    iOS 之 Cocoa框架
    iOS 之 UIKit框架
    iOS 之 Core Animation
    iOS之Block
    单例模式
    js 关于日期
    利用卷积神经网络对大规模可穿戴传感器数据进行运动分类
  • 原文地址:https://www.cnblogs.com/hellocjr/p/14769253.html
Copyright © 2011-2022 走看看