gantsign / development-environment Goto Github PK
View Code? Open in Web Editor NEWA development environment for Java, Python and Node.js built using Vagrant
Home Page: https://gantsign.github.io/development-environment
License: MIT License
A development environment for Java, Python and Node.js built using Vagrant
Home Page: https://gantsign.github.io/development-environment
License: MIT License
While the Xfce4+DockbarX desktop may be more familiar to some, particularly those with little Linux experience, the Ubuntu Unity is the default desktop for Ubuntu.
As the default desktop Unity is a bit more robust, particularly when it comes to integration with third part apps.
Support for Xfce4 should be maintained but Unity should be the default for the development environment.
To install Oracle Java you must have accepted the "Oracle Binary Code License Agreement
for the Java SE Platform Products and JavaFX".
Install kubelet
, kubectl
and kubeadm
for developing/deploying apps using Kubernetes.
The machine is booting and everything seems to work just fine, there is just this error message after vagrant up:
...
==> default: Machine booted and ready!
==> default: Configuring proxy for Apt...
==> default: Configuring proxy for Docker...
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
chmod 0644 /etc/systemd/system/docker.service.d/http-proxy.conf
Stdout from the command:
Stderr from the command:
chmod: cannot access '/etc/systemd/system/docker.service.d/http-proxy.conf': No such file or directory
Vagrant 2.2.2, Virtualbox 5.2.4
I have proxy.enabled set to false (as by default)
I see /etc/systemd/system/docker.service.d/proxy.conf
referenced in the angstwad.docker_ubuntu
role, not http-proxy.conf. Can't find anything related in the main config though, can use some help there
The Vagrant Nugrant plugin (https://github.com/maoueh/nugrant) is a great way of allowing configuration for your VM to be overridden at multiple levels.
All the current VirtualBox settings in the Vagrantfile should be configurable using Nugrant.
Bento boxes (https://atlas.hashicorp.com/bento) are officially-recommended by Vagrant (https://www.vagrantup.com/docs/boxes.html) whereas the Canonical ones are not.
The Bento boxes provide the same version of Ubuntu but configured better for Vagrant.
Needed to make the VM build more reproducible.
All versions should be fixed apart from the following that should always use the latest:
Move the home directory file mirror from vagrant shared folder to persistent storage (i.e. a persistent disk mounted using the vagrant-persistent-storage
plugin).
The vagrant shared folders are flaky at best:
Switching to persistent storage will provide a more reliable experience.
While you can currently get the development environment to work behind a proxy using the vagrant-proxyconf plugin, this isn't covered in the documentation for the development environment; also, you still need to manually configure the proxy settings for Gnome so the Google Chrome browser will also be able to use the proxy.
Document the process for using the development behind a proxy, auto install the vagrant-proxyconf plugin, and add support for configuring the Gnome proxy as part of the provisioning.
Terminator allows you to split the screen into multiple terminal windows.
GOROOT
and GOPATH
environment variables$GOROOT\bin
and $GOPATH\bin
to PATH
environment variableWhen I install vagrant plugins,I got errors:
`There was an error loading a Vagrantfile. The file being loaded
and the error message are shown below. This is usually caused by
an invalid or undefined variable.
Path: /Users/tomyli/github/tools/development-environment/Vagrantfile
Line number: 46
Message: undefined method mac?'
What should i do?
The timezone should be configurable using Nugrant configuration. This will be particularly useful to users in the US.
Ubuntu 15.10 support ended on July 28 2016.
Changing to 14.04 LTS would be problematic because it's using old versions of several packages including Python; the Python version is a particular problem as it's pre-SNI support, which breaks many of the Ansible roles. The hardware support for 14.04 LTS is also ending soon which could cause issues with VirtualBox support.
The 16.04 is the latest LTS release, released on July 21, 2016, it will be supported until late 2018. While there have been a number of hurdles for supporting 16.04 it's a good long term solution.
Ansible tags are a great way of customising the VM by allowing you to turn off the features you don't wan't / need.
Add Ansible tags for "java,maven,nodejs,gui".
Given this development environment uses so many Ansible roles it'd be nice if it gave a little back by making Ansible roles a little easier to develop.
When the Unison service is failing you can't use vagrant stop/reload to shutdown the VM.
Workaround: "vagrant ssh -- sudo shutdown -h now".
TASK [franklinkim.environment : Remove previous values] ************************
[DEPRECATION WARNING]: Skipping task due to undefined Error, in the future this
will be a fatal error.: {u'IDEA_JDK': u'{{
ansible_local.java.general.java_home }}', u'M2_HOME': u'{{
ansible_local.maven.general.maven_home }}', u'JAVA_HOME': u'{{
ansible_local.java.general.java_home }}', u'LS_COLORS': u'di=1;36;40:ln=35;40:s
o=32;40:pi=33;40:ex=31;40:bd=34;46:cd=34;43:su=0;41:sg=0;46:tw=0;42:ow=0;43:',
u'CDPATH': u'.:/home/vagrant/workspace'}: 'ansible_local' is undefined.
This
feature will be removed in a future release. Deprecation warnings can be
disabled by setting deprecation_warnings=False in ansible.cfg.
fatal: [default]: FAILED! => {"failed": true, "msg": "the field 'args' has an invalid value, which appears to include a variable that is undefined. The error was: 'item' is undefined\n\nThe error appears to have been in '/vagrant/provisioning/roles/franklinkim.environment/tasks/config.yml': line 10, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: Remove previous values\n ^ here\n"}
The keyboard is set to GB but everything else is still on US.
The vagrant user's user groups are all unintentionally removed as part of the build.
Postman recently released an app for Linux; since it's such a useful tool for REST API testing it should be installed by default.
The keyboard and locale should be configurable using Nugrant configuration. This will be particularly useful to users in the US.
Hi Guys,
First of all amazing project! I use it myself. I was wondering if you are planning to switch to 20.04? It has been around for a while now so I guess it would be safe to upgrade?
Thanks
The pin-to-launcher role fails because either ansible_local
or ansible_local.intellij
is undefined.
This happens when you skip either of the tags java
or intellij
.
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.