Commit fb990dcf authored by Alan Marchiori's avatar Alan Marchiori
Browse files

updated deployment directions

parent 612e3f82
......@@ -67,15 +67,17 @@ The tool is meant to be flexible with most configuration stored at the COURSE le
Courses are found by searching the given list of `course_paths`. A course is defined by creating a file named `courses.json` in one of these paths. If multiple `courses.json` files are found, they are all loaded. Each file can define multiple SECTIONS of a course. See the [Course rubrics section](#course-rubrics) for more information.
## Deployment at Bucknell
In the `Makefile` there is a `dist` target that compiles the python code with pyinstaller. This is to provide some level of obfuscation to discourage students from trying to break/exploit the tool. There is a symbolic link in ~cs206/bin to the labtool dist path where the **lt** executable is generated.
In the `Makefile` there is a `dist` target that compiles the python code with pyinstaller in the **stage** folder. This is to provide some level of obfuscation to discourage students from trying to break/exploit the tool.
Upon deploying a new executable it is important to verify that it runs correctly `$ lt test`. Sometimes you will see errors like:
Upon creating a new executable it is important to verify that it runs correctly `$ ./stage/lt test`. Sometimes you will see errors like:
[24843] Error loading Python lib '/nfs/unixspace/linux/accounts/COURSES/cs206/labtool/dist/lt/libpython3.6m.so': dlopen:
/nfs/unixspace/linux/accounts/COURSES/cs206/labtool/dist/lt/libpython3.6m.so: cannot open shared object file: No such file or directory
If you see these, run a `make clean` and then `make dist` again. From what I can tell something is cached incorrectly in the `lt.spec` file. A clean build solves this problem.
If the test works, there is a symbolic link in ~cs206/bin to the labtool dist path where the **lt** executable is generated. Run `make release` to overwrite the old **lt** executable with the staged and tested executable.
If you see these, run a `make clean` and then `make dist`. From what I can tell something is cached incorrectly in the `lt.spec` file. A clean build solves this problem.
## Course rubrics
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment