sohoffice / piaas Goto Github PK
View Code? Open in Web Editor NEWTools to boost developer productivity by syncing and running your workspace on multiple machines.
License: GNU General Public License v3.0
Tools to boost developer productivity by syncing and running your workspace on multiple machines.
License: GNU General Public License v3.0
If we defined a sbt task, and start it with piaas app run -t. The sbt command will connect to incorrect tty and wait indefinitely. However, if we omit the -t flag, the sbt command can successfully run in the background.
Maybe we should fork a child to run the task ? We could terminate the forked child right after the task was executed, and tail from the main process.
Not sure whether sbt is the sole instance of such issue
I stumbled upon an interesting use case. I synced from my Macbook to a Windows VM. However, I find myself wanted to sync from this windows VM to a second location. The windows VM require wsl rsync
to work, but my host doesn't. Obviously, a single executable section in the top-most level of piaasconfig.yml is not enough. The scenario looks like the below:
Host ---> Windows ---> 2nd Windows
It would be nice if we can override executable per profile.
rsync can benefit from an alternative remote shell, like for example using a control master ssh connection.
We should allow user to specify remoteShell under profiles > connection. This will be used as the -e parameter when invoking rsync. For example:
rsync -av -e '{{remoteShell}}' --exclude-from=.piaasignore --delete --copy-links . [email protected]:~/src
Control Master SSH Scenario:
ssh -nNf -o ControlMaster=yes -o ControlPath="$HOME/.ssh/.control-%L-%r@%h:%p" user@host
ssh -o 'ControlPath=$HOME/.ssh/control-%L-%r@%h:%p'
We should better merge the chunks otherwise rsync will be invoked too many times.
Preferably detecting the length of channel and pick them all from the channel.
Take Angular for example, using a remote machine to serve means we will have to run ng serve
in the background. The process should not be terminated even if we closed the ssh session for whatever reason.
The application must redirect log to a file for issue investigation.
The current app run / stop / log sub command should be promoted to top command.
.piaas.d, where pid and logs are kept, should be moved out of source directory for the following reasons:
If the pid is no longer valid, it should show stopped. Therefore allow the app to be restarted.
At the moment, we're publishing to gh-pages branch. But github has advised us to use releases.
Github releases involves calling REST API, which I don't feel reasonable to operate by hand. We should use command line tools like this
We may add a toggle to allow searching for process that are child of the reported pid.
See https://github.com/mitchellh/go-ps which reads /proc/stat file for process information.
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.