zoukankan      html  css  js  c++  java
  • 【.NET Core】Docker Jenkins ASP.NET Core自动化部署

    本文基于GitHub演示自动化部署,实际上你可以选择任意的Git托管环境。
    使用的模式:DooD(Docker-outside-of-Docker)。
    本文所有内容均开源

    链接

    欢迎关注我的GitHub:

    Jenkins安装

    启动基于dotnet的jenkins:

    docker run --name my-jenkins -P 
        -e TZ='Asia/Shanghai' 
        -v /var/run/docker.sock:/var/run/docker.sock 
        -v /var/jenkins_home:/var/jenkins_home 
        -d neverc/netcore-jenkins
    

    docker exec -it my-jenkins cat /var/jenkins_home/secrets/initialAdminPassword // 查看jenkins的初始化密码,当然你可以去掉docker exec -it my-jenkins

    安装的必选插件:Git GitHub Integration

    如果安装插件非常慢,可使用镜像:
    上海大学镜像

    GitHub

    配置Person AccessToken

    创建一个仓库

    建议根目录添加1个setup.sh,用于jenkins构建

    配置Jenkins

    1. 为了做到自动化部署,在Jenkins的系统设置中找到GitHub Servers模块,选择secret text添加AccessToken为认证方式
    2. 在创建的Jenkins任务中,配置触发器为GitHub hook trigger for GITScm polling
    3. 构建选择执行 shell:bash ./setup.sh

    可参考的内容

    Dockerfile

    FROM microsoft/aspnetcore
    WORKDIR /app
    ENV ASPNETCORE_URLS http://*:5000
    EXPOSE 5000
    COPY ./publish /app
    CMD ["dotnet", "jenkins-demo.dll"]
    

    执行shell

    echo 'start'
    
    # variables
    echo 'variables:'
    GITHASH=`git rev-parse --short HEAD`
    IMGNAME=netcore-demo
    CONTAINER=netcore-demo-web
    # publish
    echo 'publish:'
    rm -rf ./publish
    dotnet publish -o ./publish
    # image
    echo 'image:'
    docker build -t $IMGNAME:$GITHASH .
    docker tag $IMGNAME:$GITHASH $IMGNAME:latest
    docker rmi -f $(docker images -q -f dangling=true)
    # container
    echo 'container:'
    docker stop $CONTAINER || true && docker rm -f $CONTAINER || true
    docker run -d --name $CONTAINER $IMGNAME
    
    echo 'done!'
    
  • 相关阅读:
    Oracle Flashback技术
    管理Redo Log
    管理UNDO
    Oracle利用PIVOT和UNPIVOT进行行列转换
    如何在SQL CASE表达式中返回多个值
    第二十八节 jQuery事件委托
    第二十七节 jQuery弹框练习
    第二十六节 jQuery中的事件冒泡
    第二十五节 jQuery中bind绑定事件和解绑
    第二十四节 jQuery中的resize事件
  • 原文地址:https://www.cnblogs.com/neverc/p/8944732.html
Copyright © 2011-2022 走看看