zoukankan      html  css  js  c++  java
  • Powershell极速教程-如何在三分钟内编写项目编译脚本

    分析及思路

    来看一下项目目录结构

    image

    炒鸡正常的三板斧src+docs+tests。咦,怎么会多出一个build的文件夹呢,这就是我们今天要研究的目录。今天我会带着大家在五分钟之内编写一个极简的编译脚本。

    build内及其简单image

    思路很明显了:获取当前脚本所在目录=>获取上一级目录=>回到上一级(.sln所在目录)=>执行dotnet publish –c release

    第一分钟:了解基本的变量

    1.$psscriptroot:当前脚本文件所在目录,从Powershell3.0开始,有一个新的自动变量叫$PSScriptRoot,这个变量以前只存在模块里,它能指向当前文件夹中的脚本的位置(准确的说在你运行脚本的时候它才有用)

    2.变量定义:$代表var,$workspace={$workspace} 定义一个变量

    第二分钟:路径变换的基本操作

    1.split-path –parent {$path}

    2.join-path {$path1} {$path2}

    3.cd {$path}进入某目录

    第三分钟:编写脚本

    1.获取当前脚本所在目录,为方便查看,有些变量我们可以向控制台输出一下:

    echo $psscriptroot

    2.获取上一级目录,我们可以定义它为我们的工作目录:

    $workspace=split-path –parent $psscriptroot

    3.回到上一级(.sln所在目录)

    cd $workspace

    4.执行dotnet publish –c release

    dotnet publish –c release

    最终脚本如下:

    echo $psscriptroot

    $workspace=split-path -parent $psscriptroot

    echo $workspace

    cd $workspace

    echo "releasing project..."

    dotnet publish -c release


    image

    最后

    powershell 作为一种脚本语言,他可能比多数脚本语言都要强大。作为windows的日常使用者,了解并使用它,一定会让我们日常的工作事半功倍!

    最后贴出 自动打包类库并发布到nuget.org的例子给大家参考一下:

    image

  • 相关阅读:
    BeanFactory 工厂模式
    中小型企业架构
    数据状态图
    好文章
    leetcode 最受欢迎的91道题目
    windows下安装mysql8并修改密码
    leetcode 1049 Last Stone Weight II(最后一块石头的重量 II)
    leetcode 910. Smallest Range II
    leetcode 908. Smallest Range I
    leetcode 900. RLE Iterator
  • 原文地址:https://www.cnblogs.com/gainorloss/p/10563371.html
Copyright © 2011-2022 走看看