Does not fully work anymore. Some stuff might be interesting anyway.
Hello,
I recently created a versioning and upload system for myself and thought I could share it with you.
What this is:
A custom system depending on Git and drone.io
It automaticly builds the mod, uploads and uploads it and generates a changelog.
It supports classification as "recommend" builds and generation of dev jars.
A example, if anyone wants to build his own system.
DOES NOT require Jenkins
How it works:
Drone.io automaticly builds your mod after every commit you do (can be filter to "master" branch only)
You can prefix your commit messages with "#changelog" to add this message to the next changelog.
You can create a release with a commit containg "#release", which automaticly creates a release on github, generates a changelog and uploads and publishes the jar. You can specify the version with VERSION:2.1 at the end of the release message, otherwise it will just use the last one (with another buildnumber at the end)
Files are uploaded to ge.tt and registered on your website. There you can see the different versions, recommend, latest etc, sorted by Minecraftversion. Changelogs can be found there as well.
What this is not:
A ready to use system, you have to change a few things, it take a while to setup.
A guranteedly working system, I designed it for myself and it should/must be modified to meet your requirements or it just can be used as a example for your own implementation.
Requirements:
Depending on your customisation:
A forge mod with gradle build system
A github repository for that mod (only tested with public ones)
A website with php and mysql. (I'm using a free one offered by bplaced.net)
Add the Autoupload.jar to your mods main directory (Source can be found here)
If you haven't yet, create a REFERENCE java class and put modid, version, minecraftversion as constants there, then only reference them in all other java classes.
If you dont want to have all stuff uploaded and registered automaticly, just add bash release-managment.sh after chmod +x gradlew, then go to artifacts and add build/libs/*.jar and changelog.html there. Then you can get these files of the latest build via the download tab. Skip to step 23.
If you want to, continue. Create a mysql database on your webserver or use a existing one. Then Create two tables in your database one for the files, one for the changelog. FILES: version:text,link:text,minecraftversion:text,recommend:boolean,timestamp:int,devlink:text CHANGELOG major:int,minor:int,build:int,changelog:text
Modify these to fit to your mod. Most stuff to replace is marked with "", 1. replace all text which doesnt fit your mod, mainly in index.php 2. fill in the connection details in each file 3. change the table names in the sql commands in the files to fit to yours 4. insert the same custom password where wanted in the files
Upload them to your webserver and open each site once and look out for php errors in case there is any typo
Go to your buildscript again and add bash release-managment.sh after "chmod +x gradlew"
i can get the auto building working on droneio but i can't get it to export to ge.tt properly. or my website lol. any further explaination available for steps 19-23
1. I think you have to create a tag/release on git/github first, otherwise you get an error, don't know if I mentioned that somewhere
2. Apparently I have updated my release managment script without updating the link here.
Try adding this at the end of your release.sh: java -jar Autoupload.jar "build/libs" "MinecraftSecondScreen" "http://maxgb.de/minecraftsecondscreen/files/add.php" (MinecraftSecondScreen should be replaced by the github repository name, the link at the end by your add.php)
Also adjust the last line from your drone.io script to this:
bash Release.sh maxanier MinecraftSecondScreenMod http://maxgb.de/minecraftsecondscreen/files/addchangelog.php (replace maxanier by your github username, MinecraftSec... by your repository name and the link to your addchangelog.php, or leave it away if dont have one
-
View User Profile
-
View Posts
-
Send Message
Curse PremiumDoes not fully work anymore. Some stuff might be interesting anyway.
Hello,
I recently created a versioning and upload system for myself and thought I could share it with you.
What this is:
How it works:
What this is not:
Requirements:
Depending on your customisation:
Instructions:
chmod +x release-managment.sh
chmod +x gradlew
email=
registerpass=
apikey=
This is a long instruction and I dont know if I explained everything correctly, if you have any problems ask me.
Example Mod: https://github.com/maxanier/MinecraftSecondScreenMod
Drone.io: https://drone.io/github.com/maxanier/MinecraftSecondScreenModDownload site: http://maxgb.de/minecraftsecondscreen/files/index.php
Would be happy to see your implementations or modifications or suggestions.
Maxanier
-
View User Profile
-
View Posts
-
Send Message
Curse Premium-
View User Profile
-
View Posts
-
Send Message
Curse Premium1. I think you have to create a tag/release on git/github first, otherwise you get an error, don't know if I mentioned that somewhere
2. Apparently I have updated my release managment script without updating the link here.
Try adding this at the end of your release.sh: java -jar Autoupload.jar "build/libs" "MinecraftSecondScreen" "http://maxgb.de/minecraftsecondscreen/files/add.php" (MinecraftSecondScreen should be replaced by the github repository name, the link at the end by your add.php)
Also adjust the last line from your drone.io script to this:
bash Release.sh maxanier MinecraftSecondScreenMod http://maxgb.de/minecraftsecondscreen/files/addchangelog.php (replace maxanier by your github username, MinecraftSec... by your repository name and the link to your addchangelog.php, or leave it away if dont have one