derroylo / gitpod-tool Goto Github PK
View Code? Open in Web Editor NEWThis CLI Tool aims to make it easier to use Gitpod for web development.
License: GNU General Public License v3.0
This CLI Tool aims to make it easier to use Gitpod for web development.
License: GNU General Public License v3.0
There is a check already in place that should make sure that a shell script is executable but it doesn´t seem to work correctly
If the version under /home/gitpod/.gpt is still 0.4.1 then gpt services start will not work due to an error in that version. Disable custom docker-compose files and show an info
Edit: GPT will copy the file gpt.sh to the folder /home/gitpod/.gpt/ to prevent future problems with changes in that file as the one in the home folder might be from an older version. This will also "fix" the problem with custom docker-compose files.
Some settings of the gpt.yml should be overridable via custom file so that a user can use for example mailhog instead of mailpit, which is started via default.
Add Option to specify docker-compose file location.
Example:
-f
Example: gpt services start -f gitpod-compose.yml
https://derroylo.github.io/reference/services.html
This shows wrongly the php tag instead of the service tag
Remove Todo list as these can now be found under Issues
Add an Info on how to update to 0.4 from 0.3
Add a new command to enable/disable or change the mode of xdebug via a command
When switching to an older version of php it can happen that not all packages have been installed that have been defined in the dockerfile as these are mostly only installed in the most recent version of php. So make sure that when switching to an older version that these packages are also installed.
The command gpt services stop is not stopping the containers but is just attaching to their output and also the gpt services start command just starts all services instead the the ones selected in the config.
Gitpod has some basic support for env variables and files. These functions should be extended with the following functions:
Suggested syntax for .gpt.yml:
env:
vars:
test: Testvalue
files:
auth.json: GPT_AUTH_JSON
Add Alias for detached Mode. Propal: -d
Cleanup and Refactor the project as for example some helper classes got messy and not really readable.
Currently the tool only checks every 4 hours if there is a new version available. Add a flag to the command so that the version cache will be ignored/updated.
After package restore the webserver should be restarted otherwise some package will not be loaded directly and the user needs to restart it manually
Define a schema for the syntay of .gpt.yml for easier editing.
No response
No response
Add the ability to cache folders between workspaces like node_modules, vendor etc. GitLab has the same ability to cache folders and share them between pipeline jobs.
Initial idea: gitpod-io/gitpod#18787
GitLab Syntax as example: https://docs.gitlab.com/ee/ci/caching/#use-multiple-caches
The update script checks the wrong location for the update folder, so gpt downloads the update but it will not be applied.
# Check if the update folder exists
if [ -d "update" ]; then
cd $GPTDIR
# Move all files from the update folder to the current one and remove it afterwards
mv update/* .
# Remove the update folder
rm -rf update
# Set execution rights for the shell script
chmod +x gpt.sh
fi
but it should be
# Check if the update folder exists
if [ -d "$GPTDIR/update" ]; then
cd $GPTDIR
# Move all files from the update folder to the current one and remove it afterwards
mv update/* .
# Remove the update folder
rm -rf update
# Set execution rights for the shell script
chmod +x gpt.sh
fi
The currently used yaml config writer has a few disadvantages for example that he reformats the gpt.yml completly which removes any comments etc. This should be fixed
When defining a custom docker-compose.yaml via the gpt.yml config file, the filename is not beeing passed to gpt.sh. So docker-compose up will just use the default file name.
Line 40 in 1b47ea4
Update the documentation for xdebug and add screenshots etc. on how to setup xdebug for vscode and phpstorm. Also infos about profiling etc.
Currently the command gpt restore php
is very slow as he doesn´t check if the current php version is already the one selected etc.
Alot of time goes into building the indexes during prebuilds, PHPStorm allows the usage of shared indexes, which would speed up that process. Test if there is a way to import/export these shared indexes to speed up the needed prebuild times.
GITPOD_REPO_ROOT doesn't exist in Snapshots so Apache Config has an invalid ContentRoot
When changing to nodejs version 13.14.0 the tool hangs
Add an init command that creates all necessary files so the current repo can be started via gitpod
No response
No response
As every good project, this one should also have automatic testing implemented.
Using this config as a base:
php:
version: 8.0
config:
opcache.enable: off
xdebug.mode: off
xdebug.start_with_request: yes
configWeb:
memory_limit: 512M
xdebug.mode: off
configCLI:
max_execution_time: 0
xdebug.mode: off
When trying to change the setting for max_execution_time
for both cli and web, the setting will be added to config
but will not change the value for configCLI
. If i want to change a setting globally and there is an override in Web or CLI, then the tool should inform the user about this and aks if the override should be removed.
While using apt-get install for php packages might work for most of the packages, there might be cases where we need to use pecl as installation source.
Use pickle as installation method as that can be used in non-interactive mode and is a better method overall. Make also sure that the pickle is installed and add it to the sample workspaces
https://github.com/Derroylo/gitpod-tool/blob/develop/helper/php/PhpIniHelper.cs#L18 (Part of the command gpt restore php)
This doesn´t restart the apache server so changes in the ini files will not be available
Currently php modules can only be added manually or via the gpt.yml. A new command should be added so that php modules can be added or removed.
Extend gpt with the following database functions:
Save php-version, settings, nodejs version, packages etc. on workspace shutdown so changes made outside of gpt will not be lost after workspace restart.
Allow also custom implementations (like an event system that executes custom shell scripts)
Initial idea: gitpod-io/gitpod#3966 (comment)
Based on this idea gitpod-io/gitpod#9284 (comment) something similar should be implemented into this tool.
WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update
Cannot install, php_dir for channel "pecl.php.net" is not writeable by the current user
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.