kickflip 2.0.10
dotnet tool install --global kickflip --version 2.0.10
dotnet new tool-manifest # if you are setting up this repo dotnet tool install --local kickflip --version 2.0.10
#tool dotnet:?package=kickflip&version=2.0.10
nuke :add-package kickflip --version 2.0.10
Kickflip
So you got some GIT changes you want to get onto the server? No worries! You can kick those git changes and flip them over to that remote server!
Use Cases
Maybe you have a scripts folder that maintain in git but are deploying manually. Kickflip can help automate determining what files have change and deploy them to the remote server.
Using kickflip
Install of the tool using the following dotnet CLI command:
dotnet tool install kickflip
If you are using it on your local development or would just like to have it installed once globally, use the following dotnet CLI command:
dotnet tool install --global kickflip
Once installed you can run the tool from the command line.
Tags (e.g Github Release)
Default which uses mode = Tags (e.g GitHub Releases)
kickflip deploy --hostname <ftp-hostname> --port <ftp-port (24)> --username <ftp-username> --password <ftp-password>
Or Tags
kickflip deploy --mode Tags --hostname <ftp-hostname> --port <ftp-port (24)> --username <ftp-username> --password <ftp-password>
GitHubMergePr
This tries to work out the changes between two PR merges. Useful for rapid deployment scenarios where PR's are used and you don't need to bundle multiple merges together.
kickflip deploy --mode GitHubMergePr --hostname <ftp-hostname> --port <ftp-port (24)> --username <ftp-username> --password <ftp-password>
Folder
You may want to statically upload the contents of a folder. For example maybe there is some build assets produced on on your CI/CD server.
kickflip deploy --mode Folder --deployment-path /public_html --hostname <ftp-hostname> --port <ftp-port (24)> --username <ftp-username> --password <ftp-password> --folder <folder-path>
Note: --deployment-path
defaults to /
however it is strongly recommended to set this to ensure you know where the files are going.
Caveat: To ignore files the .kickflipignore
file must be present IN the folder.
Github Actions
Github Actions actions/checkout@v4
by default performs a shallow clone of the repo. In order for kickflip to work out all the changes it requires that a full clone be made. This can be achieve by:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # avoid shallow clone so kickflip can do its work.
If scripting for running in a CI build where global impact from installing a tool is undesirable, you can localize the tool installation:
- name: Install kickflip
run: dotnet tool install --tool-path ./tools kickflip
- name: Use kickflip
run: ./tools/kickflip <options>
Commandline reference
At any time the help can be printed with --help
. This works on the sub-commands too.
kickflip --help
Or on a sub-command
kickflip deploy --help
Development
Kickflip uses dotnet/Nerdbank.GitVersioning to handle semantic versioning and branching to for releases. To prepare a new release the following command must be run.
nbgv prepare-release
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
This package has no dependencies.
Version | Downloads | Last updated |
---|---|---|
2.0.10 | 861 | 7/1/2024 |
2.0.9-alpha | 116 | 6/28/2024 |
1.9.4 | 156 | 6/11/2024 |
1.8.4 | 155 | 6/4/2024 |
1.7.4 | 2,226 | 12/14/2022 |
1.6.4 | 920 | 11/15/2022 |
1.5.4 | 1,288 | 10/4/2022 |
1.4.9 | 995 | 10/3/2022 |
1.3.9 | 1,042 | 9/27/2022 |
1.3.8 | 921 | 9/27/2022 |
1.3.7 | 1,089 | 9/26/2022 |
1.3.6 | 1,076 | 9/26/2022 |
1.3.5 | 900 | 9/26/2022 |
1.2.7 | 1,050 | 9/26/2022 |
1.1.9 | 1,095 | 9/23/2022 |
1.1.4-alpha | 889 | 9/23/2022 |
1.1.3-alpha | 826 | 9/23/2022 |
1.0.5-beta | 1,028 | 9/22/2022 |
1.0.4-beta | 738 | 9/22/2022 |
1.0.3-beta | 853 | 9/22/2022 |