我想在 CI 中运行 Kotlin 脚本而不依赖于 Gradle 项目,这样我就可以轻松地执行使用 shell/bash/batch 难以编程的操作,并且可以在需要时使用库。
让 Kotlin 脚本仅在 Ubuntu/Linux 上运行是可以的,但理想情况下,有一种方法可以使其在 Windows 和 macOS 目标以及特定于平台的项目上运行。
UPDATE:Kotlin 现在已预安装在 GitHub Actions 运行器上,不再需要预先安装。
首先,确保您有一个正确的 Kotlin 脚本,以结尾.kts
, 或更好,.main.kts
因为后者会被 IDE(例如 IntelliJ IDEA、Android Studio)更好地识别,特别是在自动完成和类型分析方面。
其次,确保其第一行是指向正确位置的 shebang:
#!/usr/bin/env kotlin
这有助于在 CI 中运行之前在本地测试脚本,因为 IDE 将在 shebang 旁边的装订线中显示一个运行按钮。
如果给文件添加执行权限(chmod +x YouScript.main.kts
在 Linux/macOS 上),您还可以像任何其他脚本一样运行它,而无需键入kotlinc -script
之前,这也适用于 GitHub Actions。
最后,这里有一个示例手册 GitHub Action(又名工作流程文件),它将接受输入并将其传递给您的 Kotlin 脚本(可在args
安装 Kotlin 后的属性/参数):
name: Run Kotlin script
on:
workflow_dispatch:
inputs:
awesome-input:
description: 'Awesome parameter'
default: 'You'
required: true
jobs:
awesome-action:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run Kotlin script
run: kotlinc -script ./YourScript.main.kts ${{ github.event.inputs.awesome-input }}
请注意,如果脚本具有执行 (x
) 权限,正如我之前所说,您可以删除kotlinc -script
部分,它仍然会运行。
额外奖励:通过使用 kotlin 作为 shell,可以将 Kotlin 代码直接放在工作流程文件中(尽管我不建议这样做)。
请参阅此 YouTrack 评论以了解如何:https://youtrack.jetbrains.com/issue/KT-43534#focus=Comments-27-4640716.0-0 https://youtrack.jetbrains.com/issue/KT-43534#focus=Comments-27-4640716.0-0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)