首页 > 编程语言 >github action 自动化部署asp.net core应用到服务器

github action 自动化部署asp.net core应用到服务器

时间:2024-01-26 10:34:49浏览次数:45  
标签:core github name secrets action asp dotnet 服务器 out

  1. 在自己的仓库里工作流
  2. 编辑workflow
  3. 贴上自己的工作流

name: ASP.NET Core Deployment

on:
  push:
    branches:
      - master  # 你可以根据需要更改分支名称(在向master分支推送的时候触发这个workflow)

jobs:
  deploy:
    runs-on: ubuntu-latest  # 使用 Ubuntu 环境

    steps:
    - name: Checkout Repository
      uses: actions/checkout@v2

    - name: Setup .NET Core
      uses: actions/setup-dotnet@v2
      with:
        dotnet-version: '3.1'  # 可以根据需要更改 .NET Core 版本(按安装3.1版本)

    - name: Build and Publish
      run: |
        dotnet publish -c Release -r linux-x64 -o out (打包成linux环境,放在out目录下)

    - name: Copy Files to Server
      uses: appleboy/scp-action@master
      with:
        host:  ${{secrets.HOST}}
        username: ${{secrets.USERNAME}}
        password: ${{secrets.PASSWORD}}
        port: 22
        source: "out/"
        target: "/root/test/deploy"

    - name: SSH into Server
      uses: appleboy/[email protected]
      with:
        host: ${{secrets.HOST}}
        username: ${{secrets.USERNAME}}
        password: ${{secrets.PASSWORD}}
        port: 22
        script:
          cd /root/test/deploy/out
          nohup dotnet ***.dll > app.log 2>&1 &
然后解释一下整个过程
1. 在github的服务器上把代码checkout 
2. 在github的服务器上安装.NET Core的SDK(目的是为了下一步编译)
3. 用SDK把代码build到目标目录out
4. 使用scp把out目录复制到自己的服务器上
5. 使用SSH连接服务器到刚解压后的目录,运行开始服务的命令
之前处理的时候需要SSH连自己服务器的时候用Key连,把私钥放好之后一直连不上,最后还是用password连了。

标签:core,github,name,secrets,action,asp,dotnet,服务器,out
From: https://www.cnblogs.com/1521681359qqcom/p/17988789

相关文章

  • 使用dataspell 进行dbt 项目开发
    dataspell是jetbrains的数据开发工具,是一个很不错的数据开发ide,同时也支持对于dbt项目的开发我们可以使用类似idea的开发模式进行dbt项目开发参考效果项目结构数据管理注意需要自己配置数据源(可以使用遗留模式的jdbc,或者基于arrowflightjdbc)run/debug说明......
  • 《HelloGitHub》第 94 期
    兴趣是最好的老师,HelloGitHub让你对编程感兴趣!简介HelloGitHub分享GitHub上有趣、入门级的开源项目。https://github.com/521xueweihan/HelloGitHub这里有实战项目、入门教程、黑科技、开源书籍、大厂开源项目等,涵盖多种编程语言Python、Java、Go、C/C++、Swift.........
  • 解决 fatal: unable to access 'https://github.com/alibaba/nacos.git/': Failed to
    直接打开这个网站:https://sites.ipaddress.com/github.com/。找到网站中的IP地址复制出里面的IPAddress并粘贴到hosts里面。以下是macos上使用命令行打开方式,也可以直接在硬盘上找到这个文件打开sudovim/private/etc/hosts在最后一行添加如下代码140.82.113.4githu......
  • java aspect 切面怎么获取 POST 数据
    javaaspect切面怎么获取POST数据/***切面*/@Aspect@ComponentpublicclassPostRequestBodyAspect{@Pointcut("execution(*com.example.controller.*.*(..))")publicvoidcontrollerMethods(){}......
  • GDB调试之Core dump分析(二十五)
    一、核心转储coredump基础 Linuxcoredump:一般称之为核心转储、内核转储,我们统称为转储文件。是某个时刻某个进程的内存信息映射,即包含了生成转储文件时该进程的整个内存信息以及寄存器等信息。转储文件可以是某个进程的,也可以是整个系统的,可以是进程活着的时候生成的,也可以是......
  • NetCore Identityserver4 客户端配置
    1.客户端模式varclient=newHttpClient();varresponse=client.RequestClientCredentialsTokenAsync(newClientCredentialsTokenRequest{Address="http://localhost:5000/connect/token",......
  • Net Core中使用EF Core连接Mysql数据库
    EntityFrameworkCore的前身是微软提供并主推的ORM框架,简称EF,其底层是对ADO.NET的封装。EF支持SQLServer、MYSQL、Oracle、Sqlite等所有主流数据库。首先是使用时的几个模式的整理及其理解:CodeFirst:根据代码自动创建数据库表结构甚至是数据库,可以支持多库开发,代码较少冗余,由......
  • 同时配置github和gitee秘钥
    1.设置用户名和邮箱gitconfig--global--list查看全局配置信息删除配置:必须删除该设置gitconfig--global--unsetuser.name"你的名字"gitconfig--global--unsetuser.email"你的邮箱"2.生成新的SSHkeys生成GitHub的钥匙ssh-keygen-trsa-f~/.ssh/id_rsa.......
  • EF Core 在实际开发中,如何分层?
    前言:什么是分层?分层就是将EFCore放在单独的项目中,其它项目如Asp.netcorewebapi项目引用它这样的好处是解耦和项目职责的清晰划分,并且可以重用EFCore项目但是也会数据库迁移变得复杂起来Stepbystep步骤创建一个.NET类库项目,项目名字为BooksEFCore引用......
  • NetCore获取文件内容
    1、注入IWebHostEnvironmentprivateIWebHostEnvironment_hostEnvironment;publicFormBaseController(IWebHostEnvironmenthostEnvironment){_hostEnvironment=hostEnvironment;} 2、读取根目录下文件内容(Templates/Index.html)publicasyncTask<IActionRes......