-
Notifications
You must be signed in to change notification settings - Fork 186
Sym Links not preserved during deployment #152
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
@bryantcj52 is it something that happened with previous version of agent too, or did you just notice it happening with 1458? |
@rohkat-aws I've only tested with 1458. |
@bryantcj52 is it possible to share a dummy zip with folder structure like this , so that we can try to reproduce this on our end? |
https://www.dropbox.com/s/7u8zo64nedqp5n8/test-app.zip?dl=1 Here's a small example of the directory structure and sym links. |
This appears to be happening with our deployments as well. We are using GitHub as our repo. Our symlinked directories are now being filled with the actual contents of the symlinked folder instead of the symlink. I'm not sure how long this has been happening, but I checked my repo to make sure that they were symlinked directories. |
@luciddev @bryantcj52 looking into this and trying to reproduce it |
so i did try running it using the copy entry command,but some of the tests fail too. Will need to look into them before including it in the code. @bryantcj52 @luciddev |
@rohkat-aws thanks for the update. |
How is this not higher priority? Why does the aws deploy push command do the same thing? Code build does this too. Why is AWS bent on destroying our intended file structure that includes symlinks? Beanstalk doesn't do this, thankfully. |
@et304383 its still a high priority and though it might seem an easy fix, its not ,because the tests after the change is breaking. So we are looking into it. |
This particular problem comes up for me with PHP-based applications (e.g. Drupal). Because we require scripting tools that are installed via composer in |
@quicksketch us too. This is the exact use case that the Code Deploy agent breaks. We had to resort to bundling a fix symlinks script as part of our build and adding to our deployment package that in turn gets executed after the package is extracted. |
This just started happening for me again. |
Any update on this? Happening to us me as well. |
Can we get an update on this please? Symlinks are a basic thing that loads of devs use to avoid duplicating code, this really needs to be looked at ASAP |
Saw this as a potential solution, but I think it breaks how the caching works... |
Still an issue in 2021. |
If you use npm > v6, it seems that |
Still an issue in April 2022. |
Still an issue in June 2022 |
So for codepipeline, if you use the full clone option (one with the meta data) of the github source, instead of the "default" option, your symlinks are preserved when you use the source in AWS CodeBuild. |
Still an issue in Aug 2022 |
Are there any updates? Just crossed into this problem :/ |
I found a workaround for a nodejs pnpm based application but should work for any kind of application :
This will manually copy the directory preserving the symlinks structure. |
i encounter same problem. Still issue in Nov 2024 |
OS: Linux
agent_version: OFFICIAL_1.0-1.1458_rpm
I am giving the code deploy agent a pre-zipped file uploaded to s3 for deployment which contains a number of relative symlinks a few directories deep (using
zip -ry
). I confirmed that the artifact is unzipped correctly on the server and all symlinks are there in the deployment-root, but during the copying of the files from the deployment-root to the app directory, the symlinks are replaced with the actual contents instead of preserving the symlink.I believe this has to do with the use of Ruby's FileUtils.copy() instead of FileUtils.copyEntry() but have not tested the change yet.
The text was updated successfully, but these errors were encountered: